Problème chaines de caractères

cs_tintin72 Messages postés 122 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 22 juillet 2006 - 11 sept. 2003 à 11:52
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 11 sept. 2003 à 15:52
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

Anacr0x Messages postés 515 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 27 avril 2006 2
11 sept. 2003 à 13:02
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
@+
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
11 sept. 2003 à 13:38
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é.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
11 sept. 2003 à 13:47
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...
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
11 sept. 2003 à 15:52
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.
0
Rejoignez-nous