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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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)