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.

Observação importanteImportante

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çaObservaçã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.

  

Equivalência do .NET Framework

System::Console::Read

Consulte também

Referência

Fluxo de i/O

fgets, fgetws

fputs, fputws

coloca _putws