Compartilhar via


gets_s, _getws_s

Obter uma linha do stdin fluxo. Essas são sistema autônomo versões de Obtém, _getws com aprimoramentos de segurança conforme descrito em Aprimoramentos 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 seqüência de caracteres de entrada.

  • [in]sizeInCharacters
    O dimensionar do buffer.

Valor de retorno

Retornabuffer Se for bem-sucedido. A NULL ponteiro indica uma condição de erro ou o participante do arquivo. Use ferror or feof para determinar qual deles ocorreu.

Comentários

The gets_s função lê uma linha do fluxo de entrada padrão stdin e o armazena no buffer. A linha consiste em todos os caracteres até e incluindo o primeiro caractere de nova linha ('\n').gets_s em seguida, substitui o caractere de nova linha com um caractere nulo ('\0') antes de retornar a linha. Em contraste, a fgets_s função retém o caractere de nova linha.

Se o primeiro caractere lido é o caractere de participante de arquivo, um caractere nulo é armazenado no início de buffer e NULL será retornado.

_getws é uma versão de caractere largo da gets_s; seu argumento e valor retornado são seqüências de caracteres largos.

If buffer é NULL ou sizeInCharacters é menor ou igual a zero ou se o buffer é muito pequeno para conter a linha de entrada e do terminador nulo, essas funções invocar um manipulador de parâmetro inválido, sistema autônomo descrito em Validação de parâmetro. Se a execução for permitida para continuar, essas funções retornam NULL e defina errno para EINVAL.

No C++, usando essas funções é simplificado pelo modelo sobrecargas; sobrecargas de podem inferir o comprimento do buffer automaticamente (eliminando a necessidade de especificar um argumento de dimensionar) e eles podem substituir automaticamente funções não seguras, mais antigas, com suas contrapartes mais recentes e seguras.For more information, see Proteger overloads de modelo.

Mapeamentos de rotina de texto genérica

Rotina TCHAR.H

_UNICODE & _MBCS não definido

_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>

Para obter informações adicionais compatibilidade, consulte Compatibilidade na introdução.

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 );
}

Hello there!

The line entered was: Hello there!

Equivalente do NET Framework

sistema::Console::Read

Consulte também

Referência

Fluxo de E/S

Obtém, _getws

fgets, fgetws

fputs, fputws

coloca _putws