es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Estoy teniendo dificultades para entender la función fgets().

Estoy preparándome para un examen la semana que viene y me está costando entender la función fgets() en C.

Dado este ejemplo:

void main() {
    FILE *fp;
    char buff[2]
    fp = fopen("test.txt", "r");

while (fgets(buff, sizeof(buff), fp)
/*Entiendo que este bucle devuelve verdadero mientras 
no se encuentre el final del archivo*/

printf("%s", buff);

fclose(fp)


}

Por lo que entiendo, este bucle obtendrá una matriz de caracteres de 2 elementos (1 carácter + ‘\ 0’), ¿cómo sabe omitir los elementos ya obtenidos? ¿tiene algo que ver con el puntero fp?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    La función fgets() lee una línea del archivo apuntado por fp y la almacena en el arreglo buff. El parámetro sizeof(buff) indica a fgets() cuántos caracteres leer del archivo. El puntero fp lleva un registro de la posición actual en el archivo, por lo que cuando se llama de nuevo a fgets(), leerá la próxima línea del archivo. El ciclo continuará hasta que se alcance el final del archivo, momento en el que fgets() devolverá NULL.

Comments are closed.