fgets, fgetws
Pobierz łańcuch ze strumienia.
char *fgets(
char *str,
int n,
FILE *stream
);
wchar_t *fgetws(
wchar_t *str,
int n,
FILE *stream
);
Parametry
str
Miejsca przechowywania danych.n
Maksymalna liczba znaków do odczytu.stream
Wskaźnik, aby FILE struktury.
Wartość zwracana
Każda z tych funkcji zwraca str.NULLzwracany jest błąd lub warunek końca pliku.Użyj feof lub ferror do określenia, czy wystąpił błąd.Jeśli str lub stream jest wskaźnik null, lub n jest mniejsza lub równa zero, funkcja ta wywołuje obsługi nieprawidłowy parametr zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie jest dozwolone, aby kontynuować, errno jest ustawiona na EINVAL i funkcja zwraca NULL.
Zobacz _doserrno, errno, _sys_errlist i _sys_nerr więcej informacji na temat tych i innych kodów błędów.
Uwagi
fgets Funkcji odczytuje ciąg w wejściowych danych stream argument i zapisuje go w str.fgetsodczytuje znaki od bieżącej pozycji strumienia do i łącznie z pierwszego znaku nowego wiersza na końcu strumienia lub do czasu odczytania liczba znaków jest równa n – 1, co nastąpi najpierw.Wyniki są przechowywane w str jest dołączany znakiem null.Znak nowego wiersza, jeżeli odczyt, znajduje się w ciągu.
fgetwsjest to wersja szerokich znaków fgets.
fgetwsodczytuje argument szerokich znaków str jako ciąg znaków wielobajtowych lub łańcuch szerokich znaków zgodnie z czy stream jest otwierany w trybie tekst lub binarny, odpowiednio.Aby uzyskać więcej informacji na temat używania tekstu i trybów binarne w Unicode i wielobajtowych strumienia I/O zobacz tekstu i binarny tryb We/Wy pliku i Unicode strumień we/wy w binarnym trybu tekstowego i.
Tekst rodzajowy rutynowych mapowania
TCHAR.Rutynowe H |
_UNICODE & Nie zdefiniowano _MBCS |
_MBCS, definicja |
_UNICODE, definicja |
---|---|---|---|
_fgetts |
fgets |
fgets |
fgetws |
Wymagania
Funkcja |
Wymaganego nagłówka |
---|---|
fgets |
<stdio.h> |
fgetws |
<stdio.h> lub <wchar.h> |
Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.
Przykład
// crt_fgets.c
// This program uses fgets to display
// a line from a file on the screen.
//
#include <stdio.h>
int main( void )
{
FILE *stream;
char line[100];
if( fopen_s( &stream, "crt_fgets.txt", "r" ) == 0 )
{
if( fgets( line, 100, stream ) == NULL)
printf( "fgets error\n" );
else
printf( "%s", line);
fclose( stream );
}
}
Dane wejściowe: crt_fgets.txt
Line one.
Line two.
Dane wyjściowe
Line one.