Remplir un tableau avec des chaines de char
tivanbelle
-
fiddy Messages postés 11653 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11653 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'aimerais remplir un tableau carte[10][10] de la façon suivante :
carte[0][1] = "zone00.txt"
carte[0][2] = "zone01.txt"
carte[0][3] = "zone02.txt"
carte[0][4] = "zone03.txt"
carte[0][5] = "zone04.txt"
...
carte[9][7] = "zone97.txt"
carte[9][8] = "zone98.txt"
carte[9][9] = "zone99.txt"
j'ai donc crée deux boucles for :
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
[...]
}
}
mais je ne vois pas quels instructions mettre dans cette double boucle.
Pouvez vous m'aider
Merci
J'aimerais remplir un tableau carte[10][10] de la façon suivante :
carte[0][1] = "zone00.txt"
carte[0][2] = "zone01.txt"
carte[0][3] = "zone02.txt"
carte[0][4] = "zone03.txt"
carte[0][5] = "zone04.txt"
...
carte[9][7] = "zone97.txt"
carte[9][8] = "zone98.txt"
carte[9][9] = "zone99.txt"
j'ai donc crée deux boucles for :
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
[...]
}
}
mais je ne vois pas quels instructions mettre dans cette double boucle.
Pouvez vous m'aider
Merci
A voir également:
- Remplir un tableau avec des chaines de char
- Tableau word - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Trier un tableau excel - Guide
- Imprimer un tableau excel - Guide
- Tableau ascii - Guide
5 réponses
Oui pardon, c'est bien en C que je le veut mais ce que tu m'a donné ne fonctionne pas.
Quand j'affiche mon tableau ça me donne des (null) dans mes cases
Quand j'affiche mon tableau ça me donne des (null) dans mes cases
Salut,
Ce que tu fais n'est pas correct en C. L'affectation d'un tableau de char n'est correcte qu'à l'initialisation, sinon il faut utiliser des fonctions spécifiques. De plus, tu dois utiliser un tableau à trois dimensions (la troisième étant utilisé pour le tableau de char).
Par exemple essais :
Attention tout de même à la fonction sprintf qui mal utilisée peut provoquer des segfaults. Dans ce cas, vaudra mieux utiliser une fonction sécurisée comme snprintf (C99) ou autres.
Cdlt,
Ce que tu fais n'est pas correct en C. L'affectation d'un tableau de char n'est correcte qu'à l'initialisation, sinon il faut utiliser des fonctions spécifiques. De plus, tu dois utiliser un tableau à trois dimensions (la troisième étant utilisé pour le tableau de char).
Par exemple essais :
/*50 ou autres. Cela doit être suffisamment grand pour contenir "zone...txt" + 1 caractère (\0)*/
char carte[10][10][12];
int i,j;
for(i=0i<10;i++) {
for(j=0;j<10;j++) {
sprintf(carte[i][j],"zone%d%d.txt",i,j);
}
}
Attention tout de même à la fonction sprintf qui mal utilisée peut provoquer des segfaults. Dans ce cas, vaudra mieux utiliser une fonction sécurisée comme snprintf (C99) ou autres.
Cdlt,
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question