Petit problème de fseek()
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 :
Code:
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);
} |
Et là, c'est le drame : il n'avance jamais et reste sur la première ligne !!! :(
Merci d'avance pour vos réponses