fgets
, fgetws
Získání řetězce z datového proudu
Syntaxe
char *fgets(
char *str,
int numChars,
FILE *stream
);
wchar_t *fgetws(
wchar_t *str,
int numChars,
FILE *stream
);
Parametry
str
Umístění úložiště pro data
numChars
Maximální počet znaků, které se mají přečíst.
stream
Ukazatel na FILE
strukturu.
Vrácená hodnota
Každá z těchto funkcí vrátí str
. NULL
vrátí se k označení chyby nebo podmínky ukončení souboru. Použijte feof
nebo ferror
určete, jestli došlo k chybě. Pokud str
je nebo stream
je ukazatel null nebo numChars
je menší nebo roven nule, tato funkce vyvolá neplatnou obslužnou rutinu parametru, jak je popsáno v ověření parametru. Pokud je povoleno pokračovat provádění, errno
je nastavena na EINVAL
a funkce vrátí NULL
.
Další informace o návratových kódech naleznete v tématu errno
, _doserrno
, _sys_errlist
a _sys_nerr
.
Poznámky
Funkce fgets
načte řetězec ze vstupního stream
argumentu a uloží ho do str
. fgets
čte znaky z aktuální pozice datového proudu do a včetně prvního znaku nového řádku, na konec datového proudu nebo do doby, než se počet přečtených znaků rovná numChars
- 1 podle toho, co nastane dříve. Výsledek uložený v str
souboru je připojen znakem null. Znak nového řádku, pokud je přečten, je součástí řetězce.
fgetws
je širokoznační verze .fgets
fgetws
přečte argument širokého znaku str
jako řetězec s vícebajtovými znaky nebo jako řetězec širokého znaku při stream
otevření v textovém režimu nebo v binárním režimu. Další informace o použití textových a binárních režimů v kódování Unicode a multibajtové stream-I/O naleznete v tématu Vstupně-výstupní operace textového a binárního režimu vstupně-výstupních operací a vstupně-výstupních operací datového proudu Unicode v textových a binárních režimech.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Mapování rutin obecného textu
TCHAR.H rutina |
_UNICODE a _MBCS není definován |
_MBCS definovaný |
_UNICODE definovaný |
---|---|---|---|
_fgetts |
fgets |
fgets |
fgetws |
Požadavky
Function | Požadovaný hlavičkový soubor |
---|---|
fgets |
<stdio.h> |
fgetws |
<stdio.h> nebo <wchar.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
// crt_fgets.c
// This program uses fgets to display
// the first line from a file.
#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\numChars" );
else
printf( "%s", line);
fclose( stream );
}
}
Vstup: crt_fgets.txt
Line one.
Line two.
Výstup
Line one.
Viz také
Vstupně-výstupní operace streamu
fputs
, fputws
gets
, _getws
puts
, _putws