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