Mot apés mot

logant83 Messages postés 90 Date d'inscription lundi 20 février 2006 Statut Membre Dernière intervention 6 mars 2007 - 20 avril 2006 à 18:32
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 - 21 avril 2006 à 18:30
Bonsoir, voila enfaite j'ai coder un truc pour pouvoir stocker les mots d'une chaine char dans plusieur variable. En gros le premier mot est dans la variable 'mot' et le deuxième est dans la variable 'mot2' etc..

mais voila des que j'envoi un message avec les caractères 'è' ou 'à' on dirais que au traitement des mots ces lettres sois considéré comme des espaces...

voila mon code:


int x = 0;
int z = 1;
int y = 0;
char mot[1000] = {};
char mot2[1000] = {};
char mot3[1000] = {};
char mot4[1000] = {};
char mot5[1000] = {};
char mot6[1000] = {};
char autre[1];
while(Ligne[x] != '\0')
{
if (Ligne[x] == ':' && z == 1) {x++;}
autre[y]=Ligne[x];
x++;
if (isspace(autre[y]) == 0)
{
if (z == 1) { strncat(mot, autre,1); }
if (z == 2) { strncat(mot2, autre,1); }
if (z == 3) { strncat(mot3, autre,1); }
if (z == 4) { strncat(mot4, autre,1); }
if (z == 5) { strncat(mot5, autre,1); }
if (z == 6) { strncat(mot6, autre,1); }
}
if (isspace(autre[y]) > 0) { z++; }
}

Pouvez-vous me dire ce qui ne va pas ? ou si vous avez une meilleur solution pour stocker les mots de ma chaine, pouvez-vous me la donner ?

1 réponse

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
21 avril 2006 à 18:30
Et bien je crois qu'avec sscanf, tu pourrais récupérer mot pas mot.


Exemple


char *buffer = "Salut les petits";


char stock1[256];
char stock2[256];
char stock3[256];

sscanf(buffer, "%s %s %s", stock1, stock2, stock3);

évidament tu peut faire une boucle

int value = 0;
while (value < 3)
{
sscanf(buffer, "%s", stock1);
printf("%s", stock1);
value++;
}

Ce ne sont que des exemple. Tu peut les modifier pour réglé ton problème.

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
Rejoignez-nous