Taille [Résolu]

Signaler
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
-
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Comment savoir la taille d'un fichier ?

Vous voulez des RPG gratuits allez sur http://jeux.jscv.com !!!

Le créateur du site http://www.jscv.com

25 réponses

Messages postés
933
Date d'inscription
dimanche 1 avril 2001
Statut
Modérateur
Dernière intervention
9 janvier 2012
2
Une fois ton fichier ouvert grace à CreateFile() (voir MSDN) tu as :

DWORD GetFileSize(
HANDLE hFile,
LPDWORD lpFileSizeHigh
);

@+
Arnotic,
Admin CS, MVP Visual C++
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
7
tjs personne qui veut éclairer ma lanterne avec un exemple ???

Vous voulez des RPG gratuits allez sur http://jeux.jscv.com !!!

Le créateur du site http://www.jscv.com
Messages postés
29
Date d'inscription
lundi 29 décembre 2003
Statut
Membre
Dernière intervention
1 novembre 2004

voici une partie de code.... moi aussi j'ai galéré avant de trouver...
Il faut par contre ouvrir le fichier ...
if ((stream fopen(FICHIER,"rb")) NULL) Erreur("Ouverture Fichier Impossible !");
taille = FileSize(stream);

...

long FileSize(FILE *streams)
{
long curpos, length;
curpos = ftell(streams);
fseek(streams, 0L, SEEK_END);
length = ftell(streams);
fseek(streams, curpos, SEEK_SET);
return length;
}

Expert CM Synergy; Borland C++ v6.
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
7
il y a pas une façon sans l'ouvrir ?

Ou en l'ouvrant avec ifstream ?

PS : Merci de m'inquiquer ou est le int

Vous voulez des RPG gratuits allez sur http://jeux.jscv.com !!!

Le créateur du site http://www.jscv.com
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Si par FindFirstFile

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
7
Du code, du code, du code !!!!

ouais !!!!!

Vous voulez des RPG gratuits allez sur http://jeux.jscv.com !!!

Le créateur du site http://www.jscv.com
Messages postés
933
Date d'inscription
dimanche 1 avril 2001
Statut
Modérateur
Dernière intervention
9 janvier 2012
2
Tu fais une petite recherche sur MSDN et tu trouves :

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/findfirstfile.asp

HANDLE FindFirstFile(
LPCTSTR lpFileName,
LPWIN32_FIND_DATA lpFindFileData
);

@+
Arnotic,
Admin CS, MVP Visual C++
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
7
ok mais je veux un exemple complet

/*début de l'exemple)*/
char nomdufichier;
long long tailledufichier;
strcpy(nomdufichier,"fichier.txt");



Vous voulez des RPG gratuits allez sur http://jeux.jscv.com !!!

Le créateur du site http://www.jscv.com
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
7
C'est parceque je suis bête que je veux un exemple sinon je comprends rien !!!

une petite erreur s'est glissée dans char nomdefichier; c'est char nomdefichier[MAX_PATH];

PS : Comme je l'ai déjà dit je ne vais pas sur MSDN je comprends pas

Vous voulez des RPG gratuits allez sur http://jeux.jscv.com !!!

Le créateur du site http://www.jscv.com
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
7
tampis je mourrais ignorant !

Vous voulez des RPG gratuits allez sur http://jeux.jscv.com !!!

Le créateur du site http://www.jscv.com
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Sur Windows on n'a pas a ouvrir le fichier pour avoir sa taille au moment de l'appel de la fonction.
Voir plus haut, c'est pourtant clair !!!

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
933
Date d'inscription
dimanche 1 avril 2001
Statut
Modérateur
Dernière intervention
9 janvier 2012
2
Je dois dire exceptionnel là quand même !
Vous avez le nom des fonctions plus leur description mais non...

@+
Arnotic,
Admin CS, MVP Visual C++
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
autre chose, une taille de fichier se lit sur 64 bits, on est plus au siecle dernier. Nimporte quelle compile DVD passe les 4 Go.

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006

Si tu fais pas du Win32, utillise stat():

#include <sys/types.h>
#include <sys/stat.h>

struct stat sb;
if (stat(FILENAME, &sb) == 0)
{
// sb.st_size contient la taille du fichier en octets
// ...
}


Pas besoin d'ouvrir le fichier et 'sb.st_size' est sur 64 bits.

Kaid - kaid.fr.st
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
BruNews > chez les pinguins non plus on est pas obligé ;) le standard posix fournit toutes les fonctions necessaire
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Je te crois et je n'y connais rien alors je n'en dis rien.
Kaid vient d'ailleurs de mettre le code qu'il faut.
Pour le reste, rien de plus penible qu'on te dise d'entree qu'on veut direct le code parce qu'on ne veut pas aller lire la doc, faut faire plomberie ou autre en ce cas mais surtout pas informatique ou il faudra lire toute sa vie.

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
oui, Kaid à donnée le code posix (le but est de faire des appels systemes portable)

entirement d'accord, donné le code complet ne l'aidera pas, si il a les base en C il devrait pouvoir s'en sortir sans probleme avec la doc
Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006

Le problème c'est aussi qu'il n'a pas précisé pour quel système il voulait une réponse.
Il faudrait peut-être mettre une combobox optionnelle quand on post une question sur le forum pour renseigner le système / compilateur utilisé. Quelque chose d'assez simple comme "Win32 / VC++", "Win32 / Autre", "Unix/ Gcc", ... .

Kaid - kaid.fr.st
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
7
Merci à tous et particulièrement à Antoine qui répond à ma question "universellement" même si je prog sous Win32!

PS : Mon frère s'appelle Antoine marrant non ?

Vous voulez des RPG gratuits allez sur http://jeux.jscv.com !!!

Le créateur du site http://www.jscv.com
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
question performance, obtenir la taille d'un fichier en l'ouvrant c'est pas super