Bonjour,
Voici mon problème :
Je cherche à copier des lignes d'un fichier .csv suivant la valeur du deuxième argument de la ligne.
J'ai donc eu la démarche suivante :
1°) Sauvegarder l'offset du début de la ligne
2°) fgets sur la ligne
3°) Analyse du deuxième argument
4°) Si le deuxième argument est > 100, copier la ligne (par retour au début de ligne et fgets de nouveau
Voici donc mon code :
Et là, c'est le drame : il n'avance jamais et reste sur la première ligne !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 while (fgets(line, sizeof(line), fp)) { offset = fseek(fp,0L,SEEK_CUR); p = strchr(line, ','); *p='\0'; p0=p+1; p = strchr(p0, '\n'); sscanf(p0,"%f",&j); if (j >= 100) { fseek(fp,offset,SEEK_SET); fgets(line, sizeof(line), fp); fputs(line,fptemp); ++nb_ligne_exploitable; } printf("%d\n", offset); }
Merci d'avance pour vos réponses
Partager