Exporter (0) Imprimer
Développer tout
and
div
eof
not
or
xor
Développer Réduire
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

gets, _getws

Récupère une ligne du flux stdin. Des versions plus sécurisées de ces fonctions sont disponibles ; consultez gets_s, _getws_s.

Remarque importante 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.

char *gets( 
   char *buffer 
);
wchar_t *_getws( 
   wchar_t *buffer 
);
template <size_t size>
char *gets( 
   char (&buffer)[size]
); // C++ only
template <size_t size>
wchar_t *_getws( 
   wchar_t (&buffer)[size]
); // C++ only

buffer

Emplacement de stockage de la chaîne d'entrée.

Retourne son argument si l'opération a réussi. Un pointeur NULL indique une erreur ou une condition de fin de fichier. Utilisez ferror ou feof pour déterminer laquelle s'est produite. Si buffer est NULL, ces fonctions appellent un gestionnaire de paramètre non valide, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, ces fonctions retournent NULL et définissent errno à la valeur EINVAL.

La fonction gets lit une ligne du flux d'entrée standard stdin et la stocke dans buffer. La ligne se compose de tous les caractère jusqu'au premier caractère de saut de ligne ("\n ") inclut. gets remplace ensuite le caractère de saut de ligne par un caractère Null ("\0 ") avant de retourner la ligne. En revanche, la fonction fgets conserve le caractère de nouvelle ligne. _getws est une version caractères larges gets; son argument et la valeur de retour de sont des chaînes de caractères larges.

Note de sécurité Note de sécurité

Comme il n'existe aucun moyen de limiter le nombre de caractères lus par gets, une entrée non fiable peut facilement provoquer des dépassements de mémoire tampon. Utilisez plutôt fgets.

En C++, ces fonctions ont des surcharges de modèle qui appellent les équivalents plus récents et sécurisés de ces fonctions. Pour plus d'informations, consultez Sécuriser les surcharges de modèle.

Mappages de routines de texte générique

Routine TCHAR.H

_UNICODE & _MBCS non définis

_MBCS défini

_UNICODE défini

_getts

gets

gets

_getws

Routine

En-tête requis

gets

<stdio.h>

_getws

<stdio.h> ou <wchar.h>

Pour plus d'informations sur la compatibilité, consultez Compatibilité.

// crt_gets.c
// compile with: /WX /W3

#include <stdio.h>

int main( void )
{
   char line[21]; // room for 20 chars + '\0'
   gets( line );  // C4996
   // Danger: No way to limit input to 20 chars.
   // Consider using gets_s instead.
   printf( "The line entered was: %s\n", line );
}

Notez que les entrées de plus de 20 caractères d'entrée déborderont la mémoire tampon de ligne et provoqueront presque certainement l'arrêt du programme.


  Bonjour à vous !la ligne entrée était : Bonjour à vous !

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft