_cgets_s
, _cgetws_s
Ruft eine Zeichenfolge aus der Konsole ab. Diese Versionen von _cgets
und _cgetws
verfügen über Sicherheitsverbesserungen, wie in den Sicherheitsfeatures im CRT beschrieben.
Wichtig
Diese API kann nicht in Anwendungen verwendet werden, die in Windows-Runtime ausgeführt werden. Weitere Informationen finden Sie im Artikel CRT functions not supported in Universal Windows Platform apps (In Apps für die universelle Windows-Plattform nicht unterstützte CRT-Funktionen).
Syntax
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
buffer
Speicherort für Daten.
numberOfElements
Die Größe des Puffers in Einzelbyte- oder Breitzeichen. Hierbei handelt es sich auch um die maximale Anzahl der zu lesenden Zeichen.
pSizeRead
Die Anzahl der tatsächlich gelesenen Zeichen.
Rückgabewert
Der Rückgabewert ist im Erfolgsfall „0“, andernfalls wird ein Fehlercode ausgegeben, wenn ein Fehler auftritt.
Fehlerbedingungen
buffer |
numberOfElements |
pSizeRead |
Return | Inhalt von buffer |
---|---|---|---|---|
NULL |
Beliebig | Beliebig | EINVAL |
– |
nicht NULL |
null | Beliebig | EINVAL |
nicht geändert |
nicht NULL |
Beliebig | NULL |
EINVAL |
Zeichenfolge mit der Länge 0 |
Hinweise
_cgets_s
und _cgetws_s
lesen eine Zeichenfolge aus der Konsole und kopieren die Zeichenfolge (mit einem NULL-Terminator) in buffer
. _cgetws_s
ist die Breitzeichenversion der Funktion. Im Gegensatz zur Zeichengröße ist das Verhalten dieser zwei Funktionen identisch. Die maximale Größe der zu lesenden Zeichenfolge wird als numberOfElements
-Parameter übergeben. Diese Größe sollte ein zusätzliches Zeichen für das abschließende Nullzeichen enthalten. Die tatsächliche Anzahl der gelesenen Zeichen wird in pSizeRead
platziert.
Wenn während des Vorgangs oder beim Überprüfen der Parameter ein Fehler auftritt, wird der ungültige Parameterhandler aufgerufen, wie in der Parameterüberprüfung beschrieben. Wenn die Ausführung fortgesetzt werden darf, errno
wird sie auf EINVAL
, und EINVAL
wird zurückgegeben.
In C++ wird die Verwendung dieser Funktionen durch Vorlagenüberladungen vereinfacht. Die Überladungen können die Pufferlänge automatisch ableiten, wodurch die Notwendigkeit zum Angeben eines Größenarguments ausgeschlossen wird. Sie können auch ältere, weniger sichere Funktionen automatisch durch ihre neueren, sichereren Gegenstücke ersetzen. Weitere Informationen finden Sie unter "Sichere Vorlagenüberladungen".
Die Debugbibliotheksversionen dieser Funktionen füllen zuerst den Puffer mit 0xFE. Verwenden Sie _CrtSetDebugFillThreshold
zum Deaktivieren dieses Verhaltens .
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Informationen zum Ändern dieses Verhaltens finden Sie im Global state in the CRT.
Generische Textroutinzuordnungen
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.
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für