Partager via


_cgets_s, _cgetws_s

Obtient une chaîne de caractères de la console.Ces versions d' _cgets et _cgetws ont des améliorations de sécurité, comme décrit dans Fonctionnalités de sécurité du CRT.

Important

Cette API ne peut pas être utilisée dans les applications qui s'exécutent dans Windows Runtime.Pour plus d'informations, consultez Fonctions CRT non prises en charge avec /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

Paramètres

  • [out] buffer
    Emplacement de stockage des données.

  • [in] numberOfElements
    La taille de la mémoire tampon en codé sur un octet ou caractères larges, qui est également le nombre maximal de caractères à lire.

  • [in] pSizeRead
    Le nombre de caractères réellement lus.

Valeur de retour

La valeur de retour est zéro si réussie ; sinon, le code d'erreur si une erreur se produit.

Conditions d'erreur

buffer

numberOfElements

pSizeRead

Return

Contenu d' buffer

NULL

any

any

EINVAL

N/A

pas NULL

zéro

any

EINVAL

non modifié

pas NULL

any

NULL

EINVAL

chaîne de longueur nulle

Notes

_cgets_s et lisent _cgetws_s une chaîne à partir de la console et copiez la chaîne (avec une marque de fin null) dans buffer._cgetws_s est la version à caractère élargi de la fonction ; autre que la taille du caractère, le comportement de ces deux fonctions est identique.La taille maximale de la chaîne à lire est passée comme paramètre d' numberOfElements .Cette taille doit inclure un caractère supplémentaire pour la valeur null de fin.Le nombre réel de caractères lus est placé dans pSizeRead.

Si une erreur se produit pendant l'exécution ou de valider les paramètres, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation des paramètres .Si est autorisé à l'exécution pour continuer, errno a la valeur EINVAL et EINVAL est retourné.

En C++, l'utilisation de ces fonctions est simplifiée par des surcharges de modèle ; les surcharges peuvent également déduire la longueur de la mémoire tampon automatiquement, éliminant ainsi le besoin de spécifier un argument de taille, et peuvent remplacer automatiquement des fonctions plus anciennes et inférieur sécurisées par leurs nouvelles, plus sécurisées équivalents.Pour plus d'informations, consultez Surcharges sécurisées de modèle.

Mappages de routines de texte générique

Routine de Tchar.h

_UNICODE et non définis _MBCS

_MBCS défini

_UNICODE défini

_cgetts_s

_cgets_s

_cgets_s

_cgetws_s

Configuration requise

Routine

En-tête requis

_cgets_s

<conio.h>

_cgetws_s

<conio.h> ou <wchar.h>

Pour plus d'informations de compatibilité, consultez Compatibilité.

Équivalent .NET Framework

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de code non managé.

Voir aussi

Référence

E/S de console et de port

_getch, _getwch