C/fgets
Esta función utilízase para ler cadeas de caracteres de ficheiros. A miúdo tamén se utiliza para ler cadeas do ficheiro stdin
, en vez de usar a función gets()
─que resulta menos segura─. A función devolve o enderezo de comezo da cadea ou valor nulo (NULL
) en caso de erro. A chamada á función sigue a sintaxe:
signed int fgets(signed char * cadea, signed int cantidade, FILE * ficheiro);
Enténdese por “cadea” a serie de caracteres que hai dende a posición do punteiro dentro do ficheiro
ata o primeiro carácter de salto de liña (\n
) que se atope ─que queda incluído na cadea
─, o primeiro carácter de fin do ficheiro (\0
) ou ata que o número de caracteres sexa a cantidade-1
(o último carácter resérvase para a marca de fin do ficheiro, \0
, que a propia función engade automaticamente á cadea).
Cando o fin da lectura se debe a atopar a marca de fin do ficheiro, a función non le este carácter ─que xa pon ela automaticamente─ senón que modifica o ficheiro
de xeito que a función feof()
devolva un valor distinto de cero ao pasarlle a variable do ficheiro como argumento.
Cómpre utilizar esta función xunto coas funcións ferror
e feof
.