Partager via


_cgets_s, _cgetws_s

Obtient une chaîne de caractères à partir de la console. Ces versions de _cgets and _cgetws présentent des améliorations dans la sécurité, comme décrit dans Fonctionnalités de sécurité dans le CRT.

Important

Cette API ne peut pas être utilisée dans les applications qui s'exécutent dans le 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 pour les données.

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

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

Valeur de retour

La valeur de retour est zéro en cas de succès ; sinon, un code d'erreur en cas de échec.

Conditions d'erreur

buffer

numberOfElements

pSizeRead

Return

Contenu de 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 _cgetws_s lis une chaîne de la console et copie la chaîne (avec une marque de fin null) dans buffer. _cgetws_s est la version de caractères larges de la fonction ; autre que la taille de caractères, le comportement de ces deux fonctions est le même. La taille maximale de chaîne en lecture est passée comme paramètre numberOfElements. Cette taille doit inclure un caractère supplémentaire pour le NULL de terminaison. Le nombre réel de caractères lu est placé dans pSizeRead.

Si une erreur se produit pendant l'opération ou dans la validation des paramètres, le gestionnaire de paramètres non valides est appelé, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, errno est défini à la valeur EINVAL et EINVAL est retourné.

En C++, l'utilisation de ces fonctions est simplifiée par les surcharges de modèle ; les surcharges peuvent déduire la longueur de la mémoire tampon automatiquement (ce qui évite d'avoir à spécifier un argument taille) et peuvent remplacer automatiquement les fonctions plus anciennes et moins sécurisées par leurs équivalentes plus récents et sécurisés. Pour plus d'informations, consultez Sécuriser les surcharges de modèle.

Mappages de routines de texte générique

Routine Tchar.h

_UNICODE et _MBCS non définis

_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> or <wchar.h>

Pour plus d'informations sur la 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

Console et port E/S

_getch, _getwch