Fgets et sscanf des informations + gestion des espaces
Yunchi
Messages postés100Date d'inscriptionlundi 30 octobre 2006StatutMembreDernière intervention14 avril 2009
-
27 févr. 2009 à 11:13
cs_yasmin
Messages postés17Date d'inscriptionsamedi 4 septembre 2004StatutMembreDernière intervention23 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 ?
cs_yasmin
Messages postés17Date d'inscriptionsamedi 4 septembre 2004StatutMembreDernière intervention23 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);