fgets () no espera entrada
Escribí el siguiente código:
int N;
scanf("%d", &N);
int i;
for (i = 0; i < N; i++) {
char line[LINE_MAX];
if (fgets(line, LINE_MAX, stdin) != NULL) {
// do stuff with line here
printf("%c - %c\n", line[0], line[1]);
}
}
Tengo un archivo de entrada que tiene el número de líneas que tiene, y luego ese número de líneas seguidas que quiero procesar. Así que leí en el número de líneas enN
. Después de eso, usofgets
Para obtener la línea para poder procesarla.
Sin embargo,fgets
No parece esperar una entrada estándar la primera vez. Siempre me sale de-
, y luego espera la entrada. Es decir, la primera iteración del bucle, no está esperando la entrada estándar enfgets
y solo imprime dos caracteres vacíos separados por-
como miprintf
hace.
¿Porqué es eso? Como puedo conseguirfgets
¿Esperar entrada cada vez? Siento que es un tema de hilos.