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