C/gets
Wygląd
< C
Uwaga!
|
Deklaracja
[edytuj]- char *gets(char *str);
Plik nagłówkowy
[edytuj]
Opis
[edytuj]- Funkcja gets() czyta linię ze standardowego wejścia (usuwa ją stamtąd) i umieszcza ją w tablicy znakowej wskazywanej przez str. Ostatni znak linii (znak nowego wiersza - '\n') zastępuje zerem (znakiem '\0').
Wartość zwracana
[edytuj]- Wartością funkcji jest str w przypadku sukcesu lub NULL w przypadku błędu lub natrafienia na koniec pliku. Funkcja nie sprawdza, czy jest miejsce do zapisu w tablicy str.
Przykład użycia
[edytuj]Jeśli pierwsza linia ma więcej niż 50 znaków nastąpi przepełnienie bufora. Z tego powodu funkcja ta jest niebezpieczna dla programu.
#include <stdio.h>
int main()
{
const int max_n= 50;
char napis[max_n+1], *n;
n = gets(napis);
if(n != NULL)
puts(napis);
else
puts("blad odczytu");
return 0;
}
- Powyższy program drukuje pierwszą linię ze swego wejścia (o ile nie przekracza ona 50 znaków). Jeśli na jego wejściu podamy plik źródłowy, wydrukuje:
#include <stdio.h>