determiner la taille d'un fichier [résolu] - C++ - Programmation
Marsh Posté le 25-03-2004 à 15:31:23
c bon g trouvé:
Code :
|
edit: spas beau faut pas copier :-)
Marsh Posté le 25-03-2004 à 17:07:20
bof ... c'est un peu pas très beau et surtout terriblement pas portable.
c'est pas compliqué, tu ouvres ton fichier, tu fais un bond jusqu'à la fin (seekg), et tu mesure la différence d'offset avec tellg et bingo
Marsh Posté le 25-03-2004 à 17:19:16
Même en Win32, tu peux avoir la taille sans ouvrir le fichier avec GetFileAttributesEx.
Au fait, le CloseHandle il est où ? :-)
Marsh Posté le 25-03-2004 à 18:07:47
bonbonbon. le close en effet il a pas voulu venir donc je l'ai pas mis. et le pas portable je m'en doutais bien, mais vu ke j'avais besoin de faire ca vite fais gt content ca marchait!
donc je vais en effet explorer la méthode de Taz
merci
Marsh Posté le 25-03-2004 à 18:20:52
en effet c plus simple:
#include <iostream>
#include <fstream>
using namespace std;
int main ( )
{
ifstream file;
file.open( "test.txt" );
file.seekg( -1, ios_base::end );
cout << file.tellg();
file.close();
}
Marsh Posté le 25-03-2004 à 18:24:31
pas la peine de fermer le fichier
pas la peine d'appeler open, utilise le constructeur
Marsh Posté le 25-03-2004 à 18:30:59
attention aux tailles max, fstat64 expose la taille sur 64bits.
Marsh Posté le 25-03-2004 à 18:37:28
bjone a écrit : attention aux tailles max, fstat64 expose la taille sur 64bits. |
on cherche la portabilité ok
Marsh Posté le 26-03-2004 à 00:24:34
bah les deux existent autant sous windows et sous linux, et sous windows ça passe même sur un cpu 32bits (puisque c'est à la charge du compilo d'émuler l'arithmétique entière en 64bit)
Marsh Posté le 25-03-2004 à 14:50:56
hello les people c encore moi!
petite question: comment fait on pour obtenir la taille d'un fichier en c++ sans faire de boucle de detection du EOF? y a t-il une fonction du genre getfilesize
merci d'avance
Message édité par da_s_monk le 25-03-2004 à 15:31:52