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
@+
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é.
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...
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.
Rejoignez-nous