Probleme en C : Lis le fichier

nicolas -  
 abdelhak -
bonjours a tous les programmeurs !!
voila g un petit problème je voudrai lire dans un fichier lignes par lignes jusqu'à la fin de fichier !
or la fonction fread se prete bien à cette manipulation, le problème
c'est lorsque je l'appel plusieur fois sur un fichier elle ne passe pas à la ligne suivante.

comment faire aidez moi pleaze !
merci a vous tous d'avance

3 réponses

Bob
 
"fread()" ne prend pas qu'une ligne mais tout le fichier pour le mettre dans un tableau. A la limite tu peux rechercher une ligne dont le retour à la ligne est la combinaison des caractères 10 et 13 de l'ASCII dans un fichier texte pour Windows seulement 10 pour GNU/Linux et seulement 13 pour MacOS.
0
batmat Messages postés 1871 Date d'inscription   Statut Membre Dernière intervention   114
 
Slt,
Utilise fgets à la place de fread. Cette fonction s'arrête au saut de ligne si la taille demandée est supérieure ou égale à la longueur de la ligne...

@++

Vous hésitez entre Linux et Windows ?
Vous voulez dépenser du temps ou de l'argent ?
0
abdelhak
 
salut

rappel en ANSI_c
1] accès sequentiel texte
caractère / caractère: fgetc(), fputc()
ligne/ligne : fgets(),fputs()
* aleatoire> par enregistrement> avec des structures
2]accès binaire
fonction Fread() et Fwrite
*avec enregistrement type "tampon" ou buffer prélablement alloué dynamiquement avec malloc ou bien statiquement en#DEFINE . ex: #DEFINE tampon 1024; char buffer[tampon];
si tu prends une fonction créer pour les accès binaires en c, qui sont faites pour intervenir sur des operations de bas niveaux, sur les flux en fait, cela ne fonctionnera pas car ton fichier à mon avis contient des caracteres formattés et donc, tout ce que tu obtiendras ne sera pas portable etant donné que les os ne positionne pas de la meme faconles octets en memoire.
Donc, comme le gars te l'as tres bien indiquer au dessus
UTILISES Fgets qui elle s'arrête au caractère '\n' ce qui signifie que si la taille des données à lire est superieure, elle s'arrete.


voilà donc

bien apprendre les types d'acces et les fonctions qui leur sont dediées car en c, on ne fait pas n'importe quoi

abdelhak
0