Langage C:récupéré taille d1 fichier
Fermé
tomtom
-
28 avril 2004 à 22:53
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 8 févr. 2016 à 21:09
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 8 févr. 2016 à 21:09
A voir également:
- Langage C:récupéré taille d1 fichier
- Langage ascii - Guide
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
- Langage pascal - Télécharger - Édition & Programmation
- Dev-Pascal - Télécharger - Édition & Programmation
2 réponses
tafiscobar
Messages postés
1277
Date d'inscription
jeudi 7 décembre 2000
Statut
Contributeur
Dernière intervention
26 février 2009
177
29 avril 2004 à 07:57
29 avril 2004 à 07:57
salut, si t'es en posix (sous linux) il ya une structure (je pense stat) qui a un champ qui contient la taille du fichier.
Sinon, en C ansi, tu ouvres ton fichier en lecture, tu te places sur le dernier octet, tu lis le numero de l'octet et c'est la taille de ton fichier (bon bien sur c'est juste la taille absolue, taille réelle ds le disque, jej ne sais pas, puisq'il ya le nom et les differentes tables qui contiennent les references vers les differents blocs).
tafiscobar "lou waye def bopame"
la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
Sinon, en C ansi, tu ouvres ton fichier en lecture, tu te places sur le dernier octet, tu lis le numero de l'octet et c'est la taille de ton fichier (bon bien sur c'est juste la taille absolue, taille réelle ds le disque, jej ne sais pas, puisq'il ya le nom et les differentes tables qui contiennent les references vers les differents blocs).
tafiscobar "lou waye def bopame"
la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
il y'a plus simple pour compter le nombre de caractères d'un fichier sans utilise de fonctions sur les fichiers :
while(!feof(fichier))
if (getc(fichier) != EOF) taille++;
printf("dernière position via compteur : %d\n",taille);
while(!feof(fichier))
if (getc(fichier) != EOF) taille++;
printf("dernière position via compteur : %d\n",taille);
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 843
8 févr. 2016 à 18:03
8 févr. 2016 à 18:03
14 ans après...
Sinon la question n'est pas le nombre de caractères mais la taille du fichier...
Sinon la question n'est pas le nombre de caractères mais la taille du fichier...
Dalfab
Messages postés
706
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
2 novembre 2023
101
>
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
Modifié par Dalfab le 8/02/2016 à 20:59
Modifié par Dalfab le 8/02/2016 à 20:59
Si le fichier a été ouvert en mode binaire plutôt que texte, le nombre de caractère est égal au nombre d'octets donc à la taille du fichier.
La méthode C ANSI de tafiscobar, fonctionne et est plus simple et plus optimale.
La méthode C ANSI de tafiscobar, fonctionne et est plus simple et plus optimale.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 843
8 févr. 2016 à 21:09
8 févr. 2016 à 21:09
Le nombre de caractères donnera le nombre de bytes (pas d'octets). Donc le lien avec la taille du fichier n'est plus aussi évident. Il faut faire une multiplication après.
Bref, le plus simple est la méthode de tafiscobar :-).
Bref, le plus simple est la méthode de tafiscobar :-).