fgets () no espera entrada
Escribí el siguiente código:
<code>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]); } } </code>
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.