Stoker des "mots" dans une table
Bonjour je veux faire un code qui me permet de rechercher les mots d'une chaines et stocke le mot dans une table pour cela j'ai fait comme ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
#include <stdio.h>
#include <string.h>
#define MAXTAB 50
typedef char* String; //tableau de type String
String tab_char[MAXTAB]; //tableau contenant des String enfin c'est ce que j'espere
int is_space(char machaine[], int pos) //test si le caractère courant est un espace
{
if (machaine[pos]==' ')
return 0;
else
return -1;
}
void ma0(char *t) //vide la chaine
{
int i;
for(i=0;i<=MAXTAB+2;i++)
t[i]=' ';
}
int main()
{
char *message="Salut comment ca va ?";
int i=0,j=0, k=0;
char ch[50]=""; //stocke le mot
while (i<strlen(message))
{
if (is_space(message, i)!=0) //si ce n'est pas un espace
{
ch[j]=message[i]; //je copie le caractère
j++; //et j'incrémente
}
else //je trouve un espace
{
tab_char[k]=ch; //je stocke le mot dans la table
k++; //passe au suivant
ma0(ch); //vide la chaine
j=0; //ré initialisation du compteur de ch
}
i++; //passe au caractère suivant dans message
}
for(i=0;i<MAXTAB;i++) //et affiche
{
printf("%s\n",tab_char[i]);
}
return 0;
} |
le problème de mon code est visible lors de l'affichage je n'ai presque que des (null) et et le reste n'est pas fameux =>
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| Process started >>>
?
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
?
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
<<< Process finished. |
Voila est ce que vous pouvez m'aider a résoudre mon problème (voire m'indiquer s'il existe une fonction qui stocke les mots dans un tableau même si je doute qu'une telle fonction existe)