Condividi tramite


_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.

Nota importanteImportante

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.

Vedere anche

Riferimenti

Console e porta I/O

_getch, _getwch