Sdílet prostřednictvím


gets_s _getws_s

Získat řádek z stdin proudu.Jedná se o verze získá, _getws s vylepšení zabezpečení, jak je popsáno v Funkce zabezpečení v 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

Parametry

  • [výstup]buffer
    Umístění úložiště pro vstupní řetězec.

  • [v]sizeInCharacters
    Velikost vyrovnávací paměti.

Vrácená hodnota

Vrátí buffer v případě úspěchu.A NULL ukazatel myši označuje podmínku chyby nebo konce souboru.Použití ferror nebo feof Chcete-li zjistit, který z nich došlo.

Poznámky

gets_s Funkce přečte řádek ze standardní vstupní proud stdin a uloží jej v buffer.Řádek obsahuje všechny znaky až po a včetně první znak nového řádku (\n).gets_spak nahradí znak nového řádku znak null ('\0') před vrácením řádku.Oproti tomu fgets_s funkce si uchovává znak nového řádku.

Pokud je první znak číst znaku konce souboru, prázdný znak je uložen na začátku buffer a NULL je vrácena.

_getwsje verzí širokého znaku gets_s; jeho argument a vrácené hodnoty jsou řetězci širokého znaku.

Pokud buffer je NULL nebo sizeInCharacters je menší nebo rovna nule nebo je-li vyrovnávací paměť je příliš malé a neobsáhne vstup a null zakončení, tyto funkce vyvolat obslužnou rutinu neplatný parametr, jak je popsáno v Ověření parametrů.Pokud je povoleno zpracování, chcete-li pokračovat, tyto funkce vracejí NULL a kód chyby ERANGE.

V jazyce C++ pomocí těchto funkcí je zjednodušeno díky přetížení šablony; přetížení můžete automaticky odvodit velikost vyrovnávací paměti (není tedy třeba zadat argument velikost) a starší, nezabezpečené funkce lze automaticky nahradí s jejich protějšky novější, bezpečné.Další informace naleznete v tématu Přetížení šablony zabezpečení.

Mapování rutiny obecného textu

TCHAR.Byla zahájena rutina h

_UNICODE & _MBCS není definováno

_MBCS, definice

_UNICODE definována

_getts

gets_s

gets_s

_getws

Požadavky

Byla zahájena rutina

Požadované záhlaví

gets_s

<stdio.h>

_getws

<stdio.h> nebo <wchar.h>

V konzole není podporována v Windows Store apps.Úchyty standardní datový proud přidružené konzoly, stdin, stdout, a stderr, musí být přesměrována před C run-time funkce lze využít v Windows Store apps.Další informace o kompatibilitě, viz Compatibility v úvodu.

Příklad

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

Ekvivalent v rozhraní .NET Framework

System::Console::Read

Viz také

Referenční dokumentace

Proud I/O

gets, _getws

fgets fgetws

fputs fputws

puts, _putws