Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1179 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [C] Lire proprement une chaîne de caractères au clavier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Lire proprement une chaîne de caractères au clavier

n°617654
_john_doe_
Posté le 21-01-2004 à 12:21:13  profilanswer
 

Bon alors voilà. Je dois lire une chaîne de caractères (un prénom) au clavier. Je ne sais pas à priori la taille de la chaîne, donc je fais ceci :
 

Code :
  1. char prenom[20];
  2. scanf("%s", prenom);


 
Et ça marche. Le problème est que si l'utilisateur entre plus de 20 caractères, ça plante lamentablement. Ma question est donc : Est-ce qu'il existe une façon propre de lire une chaîne (par exemple en ne conservant que les 20 premiers caractères saisis) ?
 
Merci :)
 
PS : Je sais que cette question semble stupide, mais sur tous les cours de C que je trouve sur le net, on utilise cette méthode pour lire une chaîne :/
 
PS2 : J'ai aussi pensé à déclarer

Code :
  1. char prenom[500]

mais ça ne fait que repousser le problème.

mood
Publicité
Posté le 21-01-2004 à 12:21:13  profilanswer
 

n°617660
Taz
bisounours-codeur
Posté le 21-01-2004 à 12:22:39  profilanswer
 

avec fgets
 
ou bien, une petite recherche sur le forum, on (j'ai) a donné plusieurs fois le code d'une fonction getline qui lit autant de caractère que nécessaire et fait l'allocation comme il faut

n°617672
_john_doe_
Posté le 21-01-2004 à 12:29:28  profilanswer
 

Merci beaucoup, c'est exactement ça :)
Je vais quand même chercher l'autre fonction, au cas où.

n°617854
Taz
bisounours-codeur
Posté le 21-01-2004 à 14:28:47  profilanswer
 

c'est quoi ton système ?

n°618420
_john_doe_
Posté le 21-01-2004 à 21:37:05  profilanswer
 

Faut que ça tourne sous Windows et sous Linux.
fgets() ça me va :)

n°662521
EpoK
Let's burn
Posté le 04-03-2004 à 10:54:11  profilanswer
 

ya une grosse différence entre fgets et scanf ?

n°662620
Taz
bisounours-codeur
Posté le 04-03-2004 à 11:53:58  profilanswer
 

EpoK a écrit :

ya une grosse différence entre fgets et scanf ?

fgets est mieux (enfin y a moins de gymanique à faire pour la même chose)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [C] Lire proprement une chaîne de caractères au clavier

 

Sujets relatifs
Conversion d'une chaine de caractères en identificateur de variablePeut-on lire/écrire dans la base de registre ?
[php] Patern, remplacer dans une chaine de caractèreBordel mais comment includer proprement ?
[JDBC] problème d'encodage de caractères.[Scripting Windows] Enregistrer une saisie clavier Sous W2K ??!!!
Comment lire un "dataset" ????[VB]traiter une chaîne avec des 0 au début de la chaîne ?
[VBA Excel] Recherche spécial dans une chaine de caractère ? 
Plus de sujets relatifs à : [C] Lire proprement une chaîne de caractères au clavier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR