Fgets et sscanf des informations + gestion des espaces

Signaler
Messages postés
100
Date d'inscription
lundi 30 octobre 2006
Statut
Membre
Dernière intervention
14 avril 2009
-
Messages postés
17
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
23 juin 2009
-
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

Messages postés
17
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
23 juin 2009

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