gets_s, _getws_s
Obtenez une ligne du flux d' stdin .Ce sont des versions d' obtient, les _getws avec des améliorations de sécurité comme décrit dans Fonctionnalités de sécurité du CRT.
char *gets_s(
char *buffer,
size_t sizeInCharacters
);
wchar_t *_getws_s(
wchar_t *buffer,
size_t sizeInCharacters
);
template <size_t size>
char *gets_s(
char (&buffer)[size]
); // C++ only
template <size_t size>
wchar_t *_getws_s(
wchar_t (&buffer)[size]
); // C++ only
Paramètres
[out] buffer
Emplacement de stockage de la chaîne d'entrée.[in] sizeInCharacters
Taille de la mémoire tampon.
Valeur de retour
En cas de réussite, retourne buffer.Un pointeur d' NULL indique une erreur ou une condition fin de fichier.Utilisez ferror ou feof pour déterminer celui qui s'est produit.
Notes
La fonction d' gets_s lit une ligne du flux d'entrée standard stdin et l'enregistre dans buffer.La ligne se compose de tous les caractères jusqu'au premier caractère de saut de ligne ("\ n ").gets_s remplace le caractère de saut de ligne par un caractère Null ("\0 ") avant de retourner la ligne.En revanche, la fonction d' fgets_s conserve le caractère de saut de ligne.
Si le premier caractère lecture est le caractère de fin de fichier, un caractère Null est enregistré au début d' buffer et NULL est retourné.
_getws est une version à caractère élargi d' gets_s; son argument et valeur de retour sont des chaînes à caractères larges.
Si buffer est NULL ou sizeInCharacters est inférieur ou égal à zéro, ou si la mémoire tampon est trop petite pour contenir la ligne et la marque de fin null d'entrée, ces fonctions appellent un gestionnaire de paramètre non valide, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution pour continuer, ces fonctions NULL de retour et errno de positionnement à ERANGE.
En C++, l'utilisation de ces fonctions est simplifié par des surcharges de modèle ; les surcharges peuvent également déduire la longueur de la mémoire tampon automatiquement (éliminant le besoin de spécifier un argument de taille) et peuvent remplacer automatiquement des fonctions plus anciennes et non sécurisées par leurs nouvelles, 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 |
---|---|---|---|
_getts |
gets_s |
gets_s |
_getws |
Configuration requise
Routine |
En-tête requis |
---|---|
gets_s |
<stdio.h> |
_getws |
<stdio.h> ou <wchar.h> |
La console n'est pas prise en charge dans les applications d' Windows Store .Les handles standard de flux de données associés à la console, stdin, stdout, et stderr, doivent être redirigés pour que les fonctions runtime C peuvent les utiliser dans des applications d' Windows Store .Pour des informations de compatibilité supplémentaires, consultez l' Compatibilité dans l'introduction.
Exemple
// crt_gets_s.c
// This program retrieves a string from the stdin and
// prints the same string to the console.
#include <stdio.h>
int main( void )
{
char line[21]; // room for 20 chars + '\0'
gets_s( line, 20 );
printf( "The line entered was: %s\n", line );
}