_cgets_s, _cgetws_s
Ottiene una stringa di caratteri dalla console.Queste versioni di _cgets e _cgetws presentano miglioramenti della sicurezza, come descritto in Funzionalità di sicurezza in CRT.
![]() |
---|
Questa API non può essere utilizzato nelle applicazioni eseguite in Windows Runtime.Per ulteriori informazioni, vedere Funzioni CRT non supportate con /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
Parametri
[out] buffer
Percorso di archiviazione per i dati.[in] numberOfElements
La dimensione del buffer in a byte singolo o i caratteri di tipo " wide ", che è anche il numero massimo di caratteri da leggere.[in] pSizeRead
Il numero di caratteri in realtà lettura.
Valore restituito
Il valore restituito è zero se ha esito positivo; in caso contrario, un codice di errore se si verifica un errore.
Condizioni di errore
buffer |
numberOfElements |
pSizeRead |
Return |
Contenuti di buffer. |
---|---|---|---|---|
NULL |
any |
any |
EINVAL |
n/d |
non NULL |
zero |
any |
EINVAL |
non modificato |
non NULL |
any |
NULL |
EINVAL |
stringa di lunghezza zero |
Note
_cgets_s e _cgetws_s leggere una stringa dalla console e copiare la stringa con un carattere di terminazione null) in buffer._cgetws_s è la versione di caratteri estesi della funzione, ad eccezione della dimensione di caratteri, il comportamento di queste due funzioni è identico.La dimensione massima della stringa da leggere viene passata come parametro di numberOfElements.Questa dimensione deve includere un carattere aggiuntivo per di terminazione null.Il numero di caratteri illustrato è posizionato in pSizeRead.
Se si verifica un errore durante un'operazione o nella convalida dei parametri, il gestore non valido di parametro viene richiamato, come descritto in Convalida dei parametri.Se l'esecuzione può continuare, errno è impostato su EINVAL e viene restituito EINVAL.
In C++, l'utilizzo di queste funzioni è semplificato dagli overload del modello; gli overload possono dedurre la lunghezza del buffer automaticamente, quindi elimina la necessità di specificare un argomento di dimensioni e possono sostituire automaticamente le funzioni precedenti e meno sicure alle più recenti, controparti meno sicure.Per ulteriori informazioni, vedere Assicurarsi che gli overload del modello.
Mapping di routine a Testo generico
Routine Tchar.h |
_UNICODE e _MBCS non definiti |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_cgetts_s |
_cgets_s |
_cgets_s |
_cgetws_s |
Requisiti
Routine |
Intestazione obbligatoria |
---|---|
_cgets_s |
<conio.h> |
_cgetws_s |
<conio.h> o <wchar.h> |
Per ulteriori informazioni di compatibilità, vedere Compatibilità.
Equivalente .NET Framework
Non applicabile. Per chiamare la funzione standard C, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di platform invoke.