Freigeben über


_cgets_s, _cgetws_s

Ruft eine Zeichenfolge aus der Konsole ab. Diese Versionen einer _cgets und _cgetws verwenden werden, wie in Sicherheitsfunktionen in der CRT beschrieben.

Wichtig

Diese API kann nicht in Anwendungen verwendet werden, die im Windows-Runtime ausgeführt werden.Weitere Informationen finden Sie unter CRT-Funktionen nicht mit /ZW unterstützt.

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

Parameter

  • [out] buffer
    Speicherort für Daten.

  • [in] numberOfElements
    Die Größe des Puffers in Einzelbyte- oder für Breitzeichen, das auch die maximale Anzahl der zu lesende Zeichen ist.

  • [in] pSizeRead
    Die Anzahl der tatsächlich gelesenen Zeichen.

Rückgabewert

Der Rückgabewert ist null, wenn erfolgreich; andernfalls ein Fehlercode, wenn ein Fehler auftritt.

Fehlerbedingungen

buffer

numberOfElements

pSizeRead

Return

Inhalt von buffer

NULL

any

any

EINVAL

nicht verfügbar

nicht NULL

0 (Null)

any

EINVAL

nicht geändert

nicht NULL

any

NULL

EINVAL

Zeichenfolge der Länge 0 (null)

Hinweise

_cgets_s und _cgetws_s dienen dazu eine Zeichenfolge von der Konsole und kopieren die Zeichenfolge (mit einem NULL-Zeichen) in buffer. _cgetws_s ist die Breitzeichen-Version der Funktion; von der Zeichengröße ist das Verhalten der beiden Funktionen identisch. Die maximale Größe der zu lesende Zeichenfolge wird in der numberOfElements als Parameter übergeben. Diese Größe sollte ein zusätzliches Zeichen für das abschließende NULL-Zeichen enthalten. Die tatsächliche Anzahl der Zeichenlesens wird in pSizeRead abgelegt.

Wenn ein Fehler während des Vorgangs im oder Überprüfen der Parameter auftritt, wird der ungültige Parameterhandler aufgerufen, wie in Parametervalidierung beschrieben. Wenn die Ausführung zulässig ist, um fortzufahren, wird errno auf EINVAL festgelegt und EINVAL zurückgegeben wird.

In C++ wird die Verwendung dieser Funktionen von Vorlagenüberladungen vereinfacht; Überladungen können die Pufferlänge automatisch ableiten, Dadurch werden Konflikte die Anforderung, einem Größenargument anzugeben, und sie können die älteren, weniger-sicheren Funktionen durch die neueren, sichereren Entsprechungen automatisch ersetzen. Weitere Informationen finden Sie unter Sichere Vorlagenüberladungen.

Zuordnung generischer Textroutinen

Tchar.h-Routine

_UNICODE und _MBCS nicht definiert

_MBCS definiert

_UNICODE definiert

_cgetts_s

_cgets_s

_cgets_s

_cgetws_s

Anforderungen

Routine

Erforderlicher Header

_cgets_s

<conio.h>

_cgetws_s

<conio.h> oder <wchar.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

.NET Framework-Entsprechung

Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe.

Siehe auch

Referenz

Konsole und Port-E/A

_getch, _getwch