Probleme avec fseek

d -  
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

3 réponses

fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
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 ?
0
d
 
oui, cest la ligne qui suit la ligen date/heure ... Prix/Tota
0
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
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,
0
don1design Messages postés 83 Statut Membre
 
ok
merci
je vais le tester
0