Fgets et sscanf des informations + gestion des espaces

Yunchi Messages postés 100 Date d'inscription lundi 30 octobre 2006 Statut Membre Dernière intervention 14 avril 2009 - 27 févr. 2009 à 11:13
cs_yasmin Messages postés 17 Date d'inscription samedi 4 septembre 2004 Statut Membre Dernière intervention 23 juin 2009 - 12 mars 2009 à 12:34
Bonjour,

Voilà mon prblème :

J'ai un fichier texte que je lis ligne par ligne

par exemple j'ai une ligne qui fait : "aa bb cc dd ee ff gg"

aa bb cc et dd sont des informations utiles que je dois séparer et ee ff et gg font partis du même champs

Je fais d'abord mon fgets :
fgets(temp,nb_max,fp);

et ensuite mon sscanf:
sscanf(temp,"%s %s %s %s %s",chaine1,chaine2,chaine3,chaine4,chaine5);

Donc ici dans chaine1, j'ai "aa", dans chaine2, j'ai "bb", dans chaine3, j'ai "cc", dans chaine4, j'ai "dd" et dans chainee5, j'ai "ee"

par contre ce que je voudrais c'est avoir "ee ff gg" dans chaine5 .....

Donc est-ce qu'il existe une fonction qui met tout le reste de la ligne prise par le fgets dans une chaine ?

Merci

1 réponse

cs_yasmin Messages postés 17 Date d'inscription samedi 4 septembre 2004 Statut Membre Dernière intervention 23 juin 2009
12 mars 2009 à 12:34
si le formatage est toujours le mem tu peux faire
sscanf(temp,"%s %s %s %s %s %s %s",chaine1,chaine2,chaine3,chaine4,chaine5,chaine6,chaine7);
// declare et initialise chaine plus haut
chaine=strcat(chaine,chaine5);
chaine=strcat(chaine,chaine6);
chaine=strcat(chaine,chaine7);

Yasmin
0