Problème chaines de caractères

Signaler
Messages postés
122
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
22 juillet 2006
-
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
-
Bonjour
J'aimerai avoir un petit éclaircissement sur les chaines de caractères.
Voici un programme tout bête...

char prenom[100];

cout<<"Taper votre prénom"<<endl;
gets(prenom);
cout<<"Bonjour "<>code;

switch(code){
case 1:
//le code
break;

case2: //etc.....

il zappe la 1ere entrée (cout<<"Entrez le nom: etc...) et passe directement à la seconde.
Quelqu'un saurait il pourquoi ?

Merci !

4 réponses

Messages postés
515
Date d'inscription
dimanche 25 mai 2003
Statut
Membre
Dernière intervention
27 avril 2006
2
Bon, les 96 autres octect sont de l'espace réservé pour la variable, si c'est pas initialisé, ca peut etre n'importe quoi
Effectivement, c du gachi si tu les utilise pas, reduit la taille si té sur ke la variable n'ira jamais au dessus !

moyen dinamique : a ma connaissance, il n'en existe aps, calcule toi meme le nombre de caractere a utilisé, c le mieu (pour les longue chaine, tu peu t'aidé d'un strlen() )

Pour ton exemple, peut etre faut-il que tu vide le buffer de cin, je sais pas trop
@+
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
9
La librairie STL fournit le modèle basic_string
qui permet de résourdre ce type de problèmes, tu n'as pas a t'occuper de la mémoire; elle est automatiquement allouée et désallouée quand c'est nécéssaire. Par contre, ca se fait un peu au détriment de l'efficacité.
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Tu peux meme dire 'BEAUCOUP' de perte d'efficacite.
Et puis pour un debutant, c'est pas a conseiller sinon il n'apprendra jamais a coder correctement.
BruNews, ciao...
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
9
Il y en a qui préfèrent la fiabilité à l'efficacité, surtout que dans le cas présent ca me semble être la meilleure solution.