Séparer les mots d'une phrase

Signaler
Messages postés
68
Date d'inscription
dimanche 31 mars 2002
Statut
Membre
Dernière intervention
18 janvier 2010
-
Messages postés
10
Date d'inscription
mercredi 31 juillet 2002
Statut
Membre
Dernière intervention
6 août 2002
-
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

Messages postés
100
Date d'inscription
samedi 27 juillet 2002
Statut
Membre
Dernière intervention
11 juin 2003

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++;
}
}
Messages postés
68
Date d'inscription
dimanche 31 mars 2002
Statut
Membre
Dernière intervention
18 janvier 2010

100000000000000000x merci ca marche impek
Messages postés
100
Date d'inscription
samedi 27 juillet 2002
Statut
Membre
Dernière intervention
11 juin 2003

bah bien sur que ca marche :-p
Messages postés
10
Date d'inscription
mercredi 31 juillet 2002
Statut
Membre
Dernière intervention
6 août 2002

euh, salut !
tu connaissai pas la fonction strtok ? elle découpe une chaine selon un token (espace, virgule, point...), a utiliser !

[TiTo];-P