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