Programación General > C/C++

 CTRL+D

<< < (2/3) > >>

Eternal Idol:
Si tenes que deshabilitar el Ctrl+C entonces tenes que trabajar con señales, sino unicamente tenes que leer del teclado (un bucle con fgets deberia ser suficiente para terminar si usas Ctrl+D, probalom, me referia a feof con stdin).

Igy:
vale, ya lo entendi, era tan facil como ejecutar el menu con un while(!feof(stdin)); no entendia al principio lo que querias decir. un millon de gracias.
ya que estoy te pregunto otra dudilla que me pasa.
guardo una serie de puntos (con sus 3 coordenadas y tal) en un fichero, me los guarda con una opcion y me los "carga" con otra, pero por alguna razon me imprime un punto de mas con todas las coordenadas a 0, y no se porque es. es algo asi:
while(!feof(f)){
  new=(point*)malloc...
  fread de las coordenadas
}

¿por que me pasa? no te pongo el codigo mas detallado porque creo que es un tema del feof. he probado a borrar el ultimo punto pero por alguna razon me ignora y (sin darme error), me sigue imprimiendo un pnto con todo a 0.

Eternal Idol:
No tengo ni la menor idea de a que pueda deberse ese error, lo mejor seria que lo depuraras linea a linea, asi podrias ver que esta leyendo. Puede que estes usando datos cuando la lectura fallo por ejemplo.

Igy:
vale ya lo dscubri (bueno, me lo dijeron). resulta que EOF lee y se queda en la ultima posicion, por lo que cuando vuelvo al while tras haber leido el último punto aun no se ha salido por lo que vuelve a entrar en el while. el tema esta en que se sale tras volver a leer despues de haber leido el ultimo punto, con lo que le pongo un if(!feof(f)) despues de leer la primera coordenada y ya esta.
no se si me he explicado muy bien.
muchas gracias eternal idol

Eternal Idol:
De nadasd  :beer:

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa