C/fgets: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Derbeth (dyskusja | edycje)
m i++ to zły zwyczaj
Linia 17:
:Funkcja fgets() nie odróżnia sytuacji osiągnięcia końca pliku od błędu odczytu pliku. Jeśli potrzebne jest ich rozróżnienie użyj funkcji [[Programowanie:C:feof|feof()]] lub [[Programowanie:C:ferror|ferror()]].
 
\hehehezad
===Przykład użycia===
:Poniższy program
#include <stdio.h>
int main (void)
{
int i;
char napis[50], *n;
for (i = 0; i < 2; ++i)
{
n = fgets (napis, 15, stdin); /* czytamy ze standardowego wejścia */
if (n != NULL)
{
[[printf]] ("%s", napis);
if ([[feof]] (stdin))
[[printf]] ("\nkoniec pliku\n");
}
else
[[printf]] ("blad odczytu\n");
}
return 0;
}
 
 
:uruchomiony dla swego tekstu żródłowego daje w wyniku:
#include<stdio.h>
:uruchomiony dla pliku:
Ala ma kota.
Ola ma psa.<znak nowej linii><koniec pliku>
:da w wyniku:
Ala ma kota.
Ola ma psa.
:po uruchomieniu go dla pliku:
Ala ma kota.
Ola ma psa.<koniec pliku>
:otrzymujemy:
Ala ma kota.
Ola ma psa.
koniec pliku
:dla pliku:
Ala ma kota.<znak nowej linii><koniec pliku>
:otrzymujemy:
Ala ma kota.
blad odczytu
:natomiast dla pliku:
Ala ma kota.<koniec pliku>
:otrzymujemy:
Ala ma kota.
koniec pliku
blad odczytu
 
===Zobacz też===