
Envoyé par
Anonymouse
Bonjour
Je cherche à découper une chaine de caractère.
Je veux donc construire un tableau de pointeur de char que j'iniialiserai plus tard
Tout d'abord j'ai une fonction qui me compte le nombre de mots
int nombreDeMots;
compteurNombreMots(ligne,&nombreDeMots);
Je cherche à initialiser dynamiquement mon tableauDeMots
char** tableauDeMots;
tableauDeMots [malloc(nombreDeMots*sizeof(char*))]
Mais j'ai une erreur: l'indice du tableau n'est pas un entier
Je ne comprend pas pourquoi j'ai se problème: il n'e reconnaît pas la taille d'un char*??? Comment faire?
Faut bien écrire ton code !!!
tableauDeMots=malloc(nombreDeMots*sizeof(char*))
Accessoirement il est d'usage qu'une fonction qui a pour but de compter des trucs renvoie le nb de trucs trouvés (et non que tu lui passes le compteur en paramètre)
1 2
| int nombreDeMots;
nombreDeMots=compteurNombreMots(ligne); |

Envoyé par
Anonymouse
J'aimerai aussi savoir si, quand j'aurais initialisé mon tableauDeMots si jefais tableauDeMots[0]="chaine" ma chaîne sera littérale.
On copie une chaîne via strcpy. Et il est nécessaire de t'assurer que la zone copiée soit de taille suffisante pour stocker la chaîne

Envoyé par
Anonymouse
Pourrais je alors définir mon tableau comme une zone en lecture seule?
Non puisque tu y copies des choses cela veut dire que tu y écrits donc que la zone est writeable. On peut pas rendre une zone readonly après coup...
Partager