_cgets_s _cgetws_s
Získá řetězec znaků z konzoly.Tyto verze _cgets a _cgetws mají vylepšení zabezpečení, jak je popsáno v Funkce zabezpečení v CRT.
Důležité |
---|
Toto rozhraní API nelze použít v aplikacích, které jsou spuštěny v Windows Runtime.Další informace naleznete v tématu CRT funkce nejsou podporovány s /ZW. |
errno_t _cgets_s(
char *buffer,
size_t numberOfElements,
size_t *pSizeRead
);
errno_t _cgetws_s(
wchar_t *buffer
size_t numberOfElements,
size_t *pSizeRead
);
template <size_t size>
errno_t _cgets_s(
char (&buffer)[size],
size_t *pSizeRead
); // C++ only
template <size_t size>
errno_t _cgetws_s(
wchar_t (&buffer)[size],
size_t *pSizeRead
); // C++ only
Parametry
[výstup]buffer
Umístění úložiště pro data.[v]numberOfElements
Velikost vyrovnávací paměti v jednobajtových nebo široké znaky, což je také maximální počet znaků, které chcete číst.[v]pSizeRead
Počet znaků ve skutečnosti číst.
Vrácená hodnota
Vrácená hodnota je nula v případě úspěchu; jinak chybu kódu, pokud dojde k selhání.
Chybové stavy
buffer |
numberOfElements |
pSizeRead |
Výsledek |
Obsahbuffer |
---|---|---|---|---|
NULL |
všechny |
všechny |
EINVAL |
není k dispozici |
neníNULL |
nula |
všechny |
EINVAL |
Nezměněno |
neníNULL |
všechny |
NULL |
EINVAL |
řetězec nulové délky |
Poznámky
_cgets_sa _cgetws_s Přečtěte řetězec z konzoly a zkopírujte řetězec (s hodnotou null zakončení) do buffer._cgetws_sje verzí širokého znaku funkce; než velikost znaku je stejné chování těchto dvou funkcí.Maximální velikost řetězce ke čtení je předána jako numberOfElements parametr.Této velikosti by měla zahrnovat zvláštní znak pro ukončující null.Skutečný počet znaků, přečtěte si je umístěn v pSizeRead.
Pokud dojde k chybě během operace nebo ověřování parametrů, je vyvolána obslužná rutina neplatný parametr, jak je popsáno v Ověření parametrů .Je-li pokračovat, je povoleno zpracování errno je nastavena na EINVAL a EINVAL je vrácena.
V jazyce C++ použití těchto funkcí je zjednodušeno díky přetížení šablony; přetížení můžete odvodit automaticky, a tím eliminují nutnost zadat argument velikost vyrovnávací paměti a jsou automaticky nahradit starší, méně zabezpečené funkce s jejich protějšky novější, bezpečnější.Další informace naleznete v tématu Přetížení šablony zabezpečení.
Mapování rutiny obecného textu
Byla zahájena rutina Tchar.h |
_UNICODE a _MBCS není definováno |
_MBCS, definice |
_UNICODE definována |
---|---|---|---|
_cgetts_s |
_cgets_s |
_cgets_s |
_cgetws_s |
Požadavky
Byla zahájena rutina |
Požadované záhlaví |
---|---|
_cgets_s |
<conio.h> |
_cgetws_s |
<conio.h> nebo <wchar.h> |
Další informace o kompatibilitě v tématu Kompatibilita.
Ekvivalent v rozhraní .NET Framework
Nelze použít Volání funkce standardním C pomocí PInvoke. Další informace naleznete v tématu Příklady volání funkce platformy.