Sdílet prostřednictvím


_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á poznámkaDů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.

Viz také

Referenční dokumentace

I/O konzoly a Port

_getch _getwch