Programación General > C/C++
CTRL+D
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
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa