Partager via


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 );
}
  

Équivalent .NET Framework

System::Console::Read

Voir aussi

Référence

E/S de flux

gets, _getws

fgets, fgetws

fputs, fputws

puts, _putws