_cgets_s, _cgetws_s
Ruft eine Zeichenfolge aus der Konsole ab.Diese Versionen von _cgets und _cgetws haben Sicherheitserweiterungen, wie in Sicherheitsfeatures im CRT beschrieben.
Wichtig |
---|
Diese API kann nicht in den Anwendungen verwendet werden, die in Windows-Runtime ausführen.Weitere Informationen finden Sie unter CRT-Funktionen unterstützt nicht mit /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
Parameter
[out] buffer
Speicherort für Daten.[in] numberOfElements
Die Größe des Puffers im Einzelbyte- oder in den Breitzeichen, das auch die maximale Anzahl von gelesen werden 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 lesen eine Zeichenfolge aus der Konsole und kopieren die Zeichenfolge (mit einem NULL-Zeichen) in buffer._cgetws_s ist die Breitzeichen-Version der Funktion; als die Zeichengröße ist das Verhalten dieser zwei Funktionen identisch.Die maximale Größe der gelesen werden Zeichenfolge wird in als der numberOfElements-Parameter übergeben.Diese Größe sollte ein zusätzliches Zeichen für das endgültige NULL-Zeichen enthalten.Die tatsächliche Anzahl der Zeichenlesens wird in pSizeRead eingefügt.
Wenn ein Fehler während des Vorgangs oder im Ü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 zu EINVAL festgelegt und EINVAL wird zurückgegeben.
In C++ wird der Verwendung dieser Funktionen durch Vorlagenüberladungen vereinfacht; die Überladungen können Pufferlänge automatisch ableiten, sobald entfernen die Anforderung, ein Größenargument anzugeben, und sie können die ältere, weniger-sicheren Funktionen durch ihre späteren, sichereren Entsprechungen automatisch ersetzen.Weitere Informationen finden Sie unter Speichern Sie Vorlagen-Überladungen.
Zuordnung generische 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 Kompatibilitätsinformation finden Sie unter Kompatibilität.
.NET Framework-Entsprechung
Nicht zutreffend. Um die Standard-C-Funktion aufzurufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe.