Ouvrir un dossier en mode binaire (lang C)

Signaler
Messages postés
180
Date d'inscription
samedi 22 novembre 2003
Statut
Membre
Dernière intervention
25 juin 2017
-
Messages postés
246
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
11 mars 2012
-
Tout d'abord bonsoir,

J'ai donc un problème sur un programme. Ce prog doit servir, une fois
terminé, à copier des fichiers d'un dossier à un autre en utilisant une
barre de progression (plus ou moins comme dans le poste de travail).
J'ai fais à peu près tout le programme sauf une chose:

ouvrir le dossier source en mode binaire (ce qui me servira à trouver
la taille de mon dossier et donc de pouvoir mettre en action ma barre
de progression).



Je mets le code de la partie du programme qui ne fonctionne pas, ça
paraitra sans doute plus claire. La seule que je veux c'est pouvoir
ouvrir le dossier et pouvoir travailler dedans comme je le fais avec un
fichier texte...



#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

FILE *fd;




long fsize() //fonction servant à trouver la taille totale du dossier

{

long savepos, size;

savepos=ftell(fd);

fseek(fd,0,SEEK_END);

size=ftell(fd);

fseek(fd,savepos,SEEK_SET);

return size;

}



int main()

{

fd=fopen("c:\\docs","rb");

if(fd==NULL) printf("erreur");

else printf("c'est bon (fichier ouvert)");

printf("%d",fsize());

fclose(fd);



printf("\n\n\n");

system("pause");

}



Je vous remercie d'avance et attends vos réponse... A bientôt.

2 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Ce sont les fichiers qu'on ouvre, pas les dossiers.
Sous Windows: CopyFile() et tu n'as rien à ouvrir du tout.

ciao...
BruNews, MVP VC++
Messages postés
246
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
11 mars 2012

Si tu veux savoir la taille de ton dossier, il fo plutot l'explorer, en
additionnant la taille de chaque fichier qu'il contient. Le seul pb c
quand ton dossier contient d'autres dossiers paske là il faut fouiller
chaque sous dossier et ainsi de suite. Si tu veux rester en mode
console (et uniquement sous dos et windows) la librairie dos.h permet
de lister le contenu d'un répertoire, avec une structure qui renvoie à
chaque occurence le nom du prochain fichier (par ordre alpha) ainsi que
la taille, et d'autres choses encore. Par contre, je ne connais pas
l'équivalent de cette librairie sous windows. Et je ne suis pas sur non
plus que tu puisse lister aussi les sous dossier.

<hr size="2" width="100%"> Qui ne tente rien...

Ne risque pas d'avoir grand chose !!!

<hr siz="">