Séparer les mots d'une phrase

cs_Jhep Messages postés 68 Date d'inscription dimanche 31 mars 2002 Statut Membre Dernière intervention 18 janvier 2010 - 31 juil. 2002 à 16:30
txprog Messages postés 10 Date d'inscription mercredi 31 juillet 2002 Statut Membre Dernière intervention 6 août 2002 - 5 août 2002 à 12:27
Salut.
J'ai créé ce prog pour séparer les mots d'une phrase :

#include
#include <stdlib.h>
#include <string.h>

void main()
{
char *st = "mot1 mot2 mot3 mot4 ";
char val[255] = "";
int i;
for(i = 0; i < strlen(st); i++){
if (st[i] == 32){
cout<<val<<"\n";
strcpy(val, "");
}else{
strcat(val, (char*)st[i]);
}
}
system("PAUSE");
}

mais ça ne fonctionne pas ! Quelqu'un sait comment fair ?

Merci.

4 réponses

cs_Beuss Messages postés 100 Date d'inscription samedi 27 juillet 2002 Statut Membre Dernière intervention 11 juin 2003
31 juil. 2002 à 21:39
remplace ta boucle for par celle ci et teste

int j = 0;
for(int i=0 ; i<strlen(st) ; i++)
{
if (st[i] == 32) {
cout<<val<<"\n";
strcpy(val,"");
j = 0;
}
else
{
val[j] = st[i];
j++;
}
}
0
cs_Jhep Messages postés 68 Date d'inscription dimanche 31 mars 2002 Statut Membre Dernière intervention 18 janvier 2010
31 juil. 2002 à 21:48
100000000000000000x merci ca marche impek
0
cs_Beuss Messages postés 100 Date d'inscription samedi 27 juillet 2002 Statut Membre Dernière intervention 11 juin 2003
31 juil. 2002 à 22:37
bah bien sur que ca marche :-p
0
txprog Messages postés 10 Date d'inscription mercredi 31 juillet 2002 Statut Membre Dernière intervention 6 août 2002
5 août 2002 à 12:27
euh, salut !
tu connaissai pas la fonction strtok ? elle découpe une chaine selon un token (espace, virgule, point...), a utiliser !

[TiTo];-P
0
Rejoignez-nous