_cgets_s
, _cgetws_s
Obtient une chaîne de caractères à partir de la console. Ces versions et ont des améliorations de _cgets
_cgetws
sécurité, comme décrit dans les 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 dans les applications de la plateforme Windows universelle.
Syntaxe
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
buffer
Emplacement de stockage des données.
numberOfElements
Taille de la mémoire tampon en caractères larges ou codés sur un octet, qui correspond aussi au nombre maximal de caractères à lire.
pSizeRead
Nombre de caractères véritablement lus.
Valeur retournée
La valeur de retour est égale à zéro en cas de réussite ; sinon, un code d'erreur est retourné en cas de défaillance.
Conditions de l’erreur
buffer |
numberOfElements |
pSizeRead |
Renvoie | Contenu de buffer |
---|---|---|---|---|
NULL |
tous | tous | EINVAL |
n/a |
non NULL |
zero | tous | EINVAL |
non modifié |
non NULL |
tous | NULL |
EINVAL |
chaîne de longueur nulle |
Notes
_cgets_s
et _cgetws_s
lisent une chaîne à partir de la console et copient la chaîne (avec une marque de fin null) dans buffer
. _cgetws_s
est la version à caractères larges de la fonction ; hormis la taille de caractères, le comportement de ces deux fonctions est identique. La taille maximale de la chaîne à lire est passée en tant que paramètre numberOfElements
. Cette taille doit inclure un caractère supplémentaire pour le caractère null de fin. Le nombre réel de caractères lus 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 valide est appelé, comme décrit dans la validation des paramètres. Si l’exécution est autorisée à continuer, errno
est définie EINVAL
sur , et EINVAL
est retournée.
En C++, l’utilisation de ces fonctions est simplifiée par les surcharges de modèle. Les surcharges peuvent déduire automatiquement la longueur de la mémoire tampon, ce qui élimine la nécessité de spécifier un argument de taille. Ils peuvent également remplacer automatiquement les fonctions plus anciennes et moins sécurisées par leurs équivalents plus récents et plus sécurisés. Pour plus d’informations, consultez Surcharges de modèles sécurisés.
Les versions de bibliothèque de débogage de ces fonctions remplissent d’abord la mémoire tampon avec 0xFE. Pour désactiver ce comportement, utilisez _CrtSetDebugFillThreshold
.
Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.
Mappages de routine de texte générique
Routine Tchar.h | _UNICODE et _MBCS non défini |
_MBCS Défini |
_UNICODE Défini |
---|---|---|---|
_cgetts_s |
_cgets_s |
_cgets_s |
_cgetws_s |
Spécifications
Routine | En-tête requis |
---|---|
_cgets_s |
<conio.h> |
_cgetws_s |
<conio.h> ou <wchar.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour