fgets
, fgetws
Obter uma cadeia de caracteres de um fluxo.
Sintaxe
char *fgets(
char *str,
int numChars,
FILE *stream
);
wchar_t *fgetws(
wchar_t *str,
int numChars,
FILE *stream
);
Parâmetros
str
Local de armazenamento de dados.
numChars
O número máximo de caracteres a serem lidos.
stream
Ponteiro para a estrutura FILE
.
Retornar valor
Cada uma dessas funções retorna str
. NULL
é retornado para indicar um erro ou uma condição de fim de arquivo. Use feof
ou ferror
para determinar se ocorreu um erro. Se str
ou for um ponteiro nulo, ou for menor ou stream
numChars
igual a zero, essa função invocará o manipulador de parâmetros inválido, conforme descrito em Validação de parâmetro. Se a execução tiver permissão para continuar, errno
será definido como EINVAL
e a função retornará NULL
.
Para obter mais informações sobre códigos de retorno, confira errno
, _doserrno
, _sys_errlist
e _sys_nerr
.
Comentários
A função fgets
lê uma cadeia de caracteres do argumento stream
de entrada e o armazena em str
. fgets
lê os caracteres da posição atual do fluxo, incluindo o primeiro caractere de nova linha, ao final do fluxo ou até que o número de caracteres lido seja igual a numChars
– 1, o que ocorrer primeiro. O resultado armazenado em str
é acrescentado com um caractere nulo. O caractere de nova linha, se lido, é incluído na cadeia de caracteres.
fgetws
é uma versão de caractere largo de fgets
.
fgetws
Lê o argumento str
de caractere largo como uma cadeia de caracteres multibyte ou como uma cadeia de caracteres largos quando stream
é aberto no modo de texto ou no modo binário, respectivamente. Para obter mais informações sobre como usar os modos de texto e binário em Unicode e E/S de fluxo multibyte, consulte E/S de arquivo de modo binário e E/S de fluxo Unicode em modo de texto e binário.
Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, consulte Estado global na CRT.
Mapeamentos de rotina de texto genérico
Rotina TCHAR.H |
_UNICODE e _MBCS não definidos |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_fgetts |
fgets |
fgets |
fgetws |
Requisitos
Função | Cabeçalho necessário |
---|---|
fgets |
<stdio.h> |
fgetws |
<stdio.h> ou <wchar.h> |
Para obter informações sobre compatibilidade, consulte Compatibilidade.
Exemplo
// 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 );
}
}
Entrada: crt_fgets.txt
Line one.
Line two.
Saída
Line one.
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de