Lister un tableau de string

Résolu
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 - 28 oct. 2004 à 14:02
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 - 28 oct. 2004 à 16:25
Soyons bref, je suis en train de bosser sur un code qui liste les srting d'un tableau, seul problème c'est qu'il y a des problèmes !
Voici mon code :

void Afficher(char * tableau, int nbr_Element)
{
for(int i=0;i<nbr_Element;i++)
{
cout<<"Tableau["<<i<<"] = "<<tableau[i]<<endl;
}
}

int main()
{
char Tableau[4][256];
int i = 0;
int nbr_Element = sizeof(Tableau)/sizeof(Tableau[0]);
int TailleLigne = sizeof(Tableau[1])/sizeof(Tableau[1][0]);

strcpy(Tableau[0], "Coucou");strcpy(Tableau[1], "Salut");strcpy(Tableau[2], "Ciao");strcpy(Tableau[3], "Slt");
for(i=0;i<4;i++)
{
cout<<"Tableau["<<i<<"] = "<<Tableau[i]<<endl;
}
cout<<endl;
Afficher(Tableau, nbr_Element);
getch();
return 0;
}

Et à la compilation il me met :
main.cpp cannot convert `char (*)[256]' to `char*' for argument `1' to `void Afficher(char*, int)'

si quelqu'un à une solution merci

10 réponses

cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
28 oct. 2004 à 14:16
moi je dirais plutot string[] ou vector<string>

sinon c'est une erreur de type d'argument comme le compilo le dit poliment

void Afficher( char tableau[][256], int nbr_Element)
{
for(size_t i=0;i<nbr_Element;i++)
{
cout<<"Tableau["<<i<<"] = "<<tableau[i]<< endl;
}
}
3
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
28 oct. 2004 à 14:12
'lu

Dc ton pb est assez simple à résoudre

tu dois passer en allocations dynamique & ne plus utiliser de char[256]

avec les macros données dans un de mes premiers sources

ALLOUEn(*tab,char*,256);
for(...)
ALLOUEn(tab[i],char,30);

tu sauras compléter ce qui manque

++
Bonne prog

Magic Nono: l'informagicien! 8-)
0
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 3
28 oct. 2004 à 14:24
djl > J'ai essayé là nouvelle fonction que tu as mis et C bon ça marche
Merci
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
28 oct. 2004 à 14:24
avec le const aussi c'est mieux
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
28 oct. 2004 à 14:25
exact
++
Magic Nono: l'informagicien! 8-)
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
28 oct. 2004 à 15:32
ref: http://www.cppfrance.com/code.aspx?id=18786

Magic Nono: l'informagicien! 8-)
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
28 oct. 2004 à 15:54
t'as oublié de mettre à jour les histoires de do{ ... }while(0)

les if feront sauter les else et les bloc seront pas dans la structure de controle voulu

et macros fonctionnelles et malloc/free, c'est mal en c++ !
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
28 oct. 2004 à 15:57
je mettrais a jour

dès que j'aurai déménagé & que j'auré la FreeBox

y aura aussi avec new & delete

mé tu es au courant du contenu de ce fichier djl

++

Magic Nono: l'informagicien! 8-)
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
28 oct. 2004 à 16:01
finalement, tu as raison

dc

maj faite

++
Magic Nono: l'informagicien! 8-)
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
28 oct. 2004 à 16:25
oui je me rappele qu'on s'etait mis d'accord, la visiblement tu avais oublié de mettre à jour
0
Rejoignez-nous