Obtém o _getws
Obter uma linha de fluxo de stdin .Versões mais seguros dessas funções estão disponíveis; consulte gets_s, _getws_s.
Importante |
---|
Este API não pode ser usado em aplicativos executados em Tempo de Execução do Windows.Para obter mais informações, consulte Funções de CRT não suportadas com /ZW. |
char *gets( char *buffer ); wchar_t *_getws( wchar_t *buffer ); template <size_t size> char *gets( char (&buffer)[size] ); // C++ only template <size_t size> wchar_t *_getws( wchar_t (&buffer)[size] ); // C++ only
Parâmetros
- buffer
Local de armazenamento para a cadeia de caracteres de entrada.
Valor de retorno
Retorna se o argumento com êxito.Um ponteiro de NULL indica um erro ou uma condição de final de Arquivo.Use ferror ou feof para determinar qual ocorreu.Se buffer é NULL, essas funções chamam um manipulador de parâmetro inválido, como descrito em Validação de parâmetro.Se a execução é permitida continuar, essas funções NULL de retorno e errno defina a EINVAL.
Comentários
A função de gets ler uma linha de fluxo de entrada padrão stdin e armazená-las em buffer.A linha consiste em todos os caracteres até e incluindo o primeiro caractere de nova linha (\ n “").gets substitui o caractere de nova linha com um caractere nulo (“\ 0 ") antes de retornar a linha.Por outro lado, a função de fgets retém o caractere de nova linha._getws é uma versão de largo- caractere de gets; os argumentos e valor de retorno são cadeias de caracteres de largo- caractere.
Observação de segurança |
---|
Como não há nenhuma maneira para limitar o número de caracteres que a leitura obtém o, entrada não confiável pode facilmente causar estouros de buffer.Use fgets em vez disso. |
Em C++, essas funções têm as sobrecargas de modelo que chamam as novas contrapartes mais seguros, essas funções.Para obter mais informações, consulte Proteger Overloads de modelo.
Mapeamentos da rotina de Genérico- texto
Rotina de TCHAR.H |
_UNICODE & _MBCS não definidos |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_getts |
gets |
gets |
_getws |
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
gets |
<stdio.h> |
_getws |
<stdio.h> ou <wchar.h> |
Para informações extras de compatibilidade Compatibilidade na introdução, consulte.
Exemplo
// crt_gets.c
// compile with: /WX /W3
#include <stdio.h>
int main( void )
{
char line[21]; // room for 20 chars + '\0'
gets( line ); // C4996
// Danger: No way to limit input to 20 chars.
// Consider using gets_s instead.
printf( "The line entered was: %s\n", line );
}
Observe que a entrada mais de 20 caracteres passará a linha buffer e causará quase certamente o programa falhar.