Lire proprement une chaîne de caractères au clavier [C] - C - Programmation
Marsh Posté le 21-01-2004 à 12:22:39
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
Marsh Posté le 21-01-2004 à 12:29:28
Merci beaucoup, c'est exactement ça
Je vais quand même chercher l'autre fonction, au cas où.
Marsh Posté le 21-01-2004 à 21:37:05
Faut que ça tourne sous Windows et sous Linux.
fgets() ça me va
Marsh Posté le 04-03-2004 à 11:53:58
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)
Marsh Posté le 21-01-2004 à 12:21:13
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 :
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
mais ça ne fait que repousser le problème.