Probleme avec fseek
d
-
don1design Messages postés 83 Statut Membre -
don1design Messages postés 83 Statut Membre -
Bonjour, tout le monde
j'ai un fichier txt qui contient ceci
************************************************************************
Service
________________________________________________________________________
Date/Heure Description Quantite Prix/Unité Prix/Total
20/07/2010: 19:58:58 Scannarisation_______ 25 25 500
************************************************************************
j'aimerais me positioner le curseur au debut de la ligne qui commence par 20/07/2010
comment dois utiliser fseek pr le faire
merci davance pr vos conseil
j'ai un fichier txt qui contient ceci
************************************************************************
Service
________________________________________________________________________
Date/Heure Description Quantite Prix/Unité Prix/Total
20/07/2010: 19:58:58 Scannarisation_______ 25 25 500
************************************************************************
j'aimerais me positioner le curseur au debut de la ligne qui commence par 20/07/2010
comment dois utiliser fseek pr le faire
merci davance pr vos conseil
3 réponses
-
Bonjour,
Cela dépend de la structure du fichier.
Est-ce toujours en 6ème ligne ou est-ce la première ligne après la ligne Date/heure ... Prix/Total ? ou autre chose ? -
-
Bonjour,
fseek n'est pas la commande à utiliser pour ce cas.
Je te conseille d'utiliser les fonctions fgets et strstr.
En supposant que la longueur maximale d'une ligne est MAX (attention à compter le \n), cela pourrait donner :#define MAX 255 int main(void) { FILE *fp=fopen(nomDuFichier,"r"); if(fp==NULL) { ... } else { char buffer[MAX+1]; while(fgets(buffer,sizeof buffer, fp) && strstr(buffer,"Prix/Total\n")); } /*Dorénavant le flux pointe sur la première ligne du tableau*/ return 0; }
Je n'ai pas testé le code, donc il y a peut-être des erreurs. Mais l'idée est là ;-))).
Cordialement,