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 ?
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 :
Je n'ai pas testé le code, donc il y a peut-être des erreurs. Mais l'idée est là ;-))).
Cordialement,
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,