begin process at 2012 02 11 01:15:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

parcours d'un fichier de structures


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

parcours d'un fichier de structures

mercredi 16 février 2005 à 20:50:46 | parcours d'un fichier de structures

playmo420

Salut.
Bon, j'ai un petit problème. Je voudrais parcourir un fichier de structures pour savoir combien il y en a à l'intérieur. Voilà mon bout de code :

int nombreEntrees(FILE* index){
    int nbEnt = 0;
    while(fseek(index,sizeof(Entree),SEEK_CUR) != EOF) nbEnt++;
    return nbEnt;
}

fseek sert logiquement à déplacer le pointeur de position dans le fichier. Je le déplace donc de
sizeof(Entree) (taille d'une des structures enregistrées) à partir de SEEK_CUR (position courante dans le fichier)  et il me semble qu'une fois arrivé à la fin du fichier, fseek rend EOF. Mais là, le programme boucle (je me demande d'ailleurs où va le pointeur de position vu que je l'ai regardé avec ftell et il augmente indéfiniement). Donc ma question est simple : pourquoi ça ne marche pas 
jeudi 17 février 2005 à 08:52:01 | Re : parcours d'un fichier de structures

otofraise

Salut,

fseek retourne 0 tant qu'il a se raplacer correctement dans le fichier .
En cas d'erreur ou de placement impossible (fin de fichier par ex) fseek retourne une valur differente de 0.

Donc ton while devrait plutot etre :

while(!fseek(index, sizeof(Entree), SEEK_CUR) ++nbEnt;

Oto

jeudi 17 février 2005 à 09:07:08 | Re : parcours d'un fichier de structures

ymca2003

Réponse acceptée !
Le plus simple serait de récupérer la taille du fichier (place toi à la fin avec fssek, fais ftell et revient au début) ensuite, divise par la taille de ta structure.
jeudi 17 février 2005 à 12:23:03 | Re : parcours d'un fichier de structures

playmo420

Pas bête ! Merci.




Cette discussion est classée dans : fichier, position, structures, fseek, nbent


Répondre à ce message

Sujets en rapport avec ce message

Position dans un fichier [ par sebastienbro ] Bonjours,je voudrais savoir comment on pourrait avoir la position dans un fichier, à la manière d'un FilePos() en Delphi. J'ai bien trouvé SetFilePoin ERREUR redefinition, different basic types ( tres URGENT) [ par moudugenou ] Bonsoir, Tout le reste marche dans mon programme sauf cette fonction qui me resiste...Quand je compile visual C++ m'indique ceci: error C2371: 'pose lire un fichier a l'envers en C (pas C++) [ par B_R_ ] Bonjour,Je suis à une position donnée dans un fichier (apres plusieurs fgets() )et j'ai besoin de recupérer un bloc de taille indefinie (mais marqué p Position curseur dans un fichier texte [C++] [ par MissSixty ] Salut !Je cherche à comprendre le bogue dans un programme tout simple qui me permet de récupérer la position du curseur (en nombres de lignes) en fin Règles d'alignement + structure + fichier [ par visualstar ] Bonsoir, J'ai fais un p'tit programme qui écris simplement des structures dans un fichier. Puis après je fais le dump du fichier en question et j'aura Fonctions de gestion de fichier en binaire ?? [ par SnOOpss ] Bonjour. Je suis en train d essayer de convertir un programme d'un autre langage et je cherche des fonctions particulieres, par exmple. Ceci lit N b revenir en arrière avec fseek [ par iam_myst ] Bonjour désolé d'avance pour le titre mais je ne savais vraiment pas quoi mettre :/ J'aimerais savoir comment on fait pour revenir en arrière dans u fseek [ par deck_bsd ] Bonjour a tous, Voila j'ai un gros problème. Je crée un programme de gestion d'appel téléphonique et dans celui si on doit pouvoir modifier les donné ofstream et écriture dans un fichier texte [ par bobybx ] Bonjour,J'ai une question peut-être bête mais je suis bloqué :J'ai un fichier texte avec 3 lignesligne 1ligne 2ligne 3Le contenu de ces lignes varient probleme de lecture fichier texte [ par Lucky Hal ] Bonjour,voila, j'ai un petit soucis, j'ai un fichier texte qui ressemble a ca :[section1][section2][section3]test1|test2|test3|test4|test5|test6|test7


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,839 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales