Share via


gets_s, _getws_s

Obter uma linha de fluxo de stdin .Essas são versões de obtém, _getws com aprimoramentos de segurança conforme descrito em Recursos de segurança no CRT.

char *gets_s( char *buffer, size_t sizeInCharacters ); wchar_t *_getws_s( wchar_t *buffer, size_t sizeInCharacters ); template <size_t size> char *gets_s( char (&buffer)[size] ); // C++ only template <size_t size> wchar_t *_getws_s( wchar_t (&buffer)[size] ); // C++ only

Parâmetros

  • [out] buffer
    Local de armazenamento para a cadeia de caracteres de entrada.

  • [in] sizeInCharacters
    O tamanho do buffer.

Valor de retorno

Retorna se buffer 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.

Comentários

A função de gets_s 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_s substitui o caractere de nova linha com um caractere nulo (“\ 0 ") antes de retornar a linha.Por outro lado, a função de fgets_s retém o caractere de nova linha.

Se a primeira leitura de caracteres é o caractere de final de Arquivo, um caractere nulo é armazenado no início de buffer e NULL é retornado.

_getws é uma versão de largo- caractere de gets_s; os argumentos e valor de retorno são cadeias de caracteres de largo- caractere.

Se buffer é NULL ou sizeInCharacters é menor ou igual a zero, ou se o buffer é muito pequeno conter a linha de entrada e o terminador dessas funções zero, 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 ERANGE.

Em C++, usar essas funções é simplificada por sobrecargas de modelo; as sobrecargas podem interpretar o tamanho do buffer (automaticamente que elimina a necessidade de especificar um argumento de tamanho) e podem automaticamente substituir mais antigos, não funções de segurança mais recentes, com suas contrapartes seguros.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_s

gets_s

_getws

Requisitos

Rotina

Cabeçalho necessário

gets_s

<stdio.h>

_getws

<stdio.h> ou <wchar.h>

O console não é suportado em aplicativos de Windows Store .Identificadores padrões de fluxo associadas ao console, stdin, stdout, e stderr, devem ser redirecionada antes que as funções de tempo de execução das C pode usar em aplicativos de Windows Store .Para informações extras de compatibilidade Compatibilidade na introdução, consulte.

Exemplo

// crt_gets_s.c
// This program retrieves a string from the stdin and 
// prints the same string to the console.

#include <stdio.h>

int main( void )
{
   char line[21]; // room for 20 chars + '\0'
   gets_s( line, 20 );
   printf( "The line entered was: %s\n", line );
}
  

Equivalência do .NET Framework

System::Console::Read

Consulte também

Referência

Fluxo de i/O

Obtém o _getws

fgets, fgetws

fputs, fputws

coloca _putws