OVH Cloud OVH Cloud

[Fichier/SetSize Rapide] Creer rapidement un gros fichier...

5 réponses
Avatar
Will
Bonjour,

Je voudrais savoir comment certains logiciels, comme eMule par exemple, font
pour creer rapidement un gros fichier ?
Ils le remplissent apres l'avoir creer, mais la taille de fichier est tout
de suite mise a la taille definitive prevue!

est-ce que c la meme methode que pour tronquer ?! ou avec un fichier overlap
?


merci.

5 réponses

Avatar
Lo
"Will" a écrit

Je voudrais savoir comment certains logiciels, comme eMule par exemple,


font
pour creer rapidement un gros fichier ?
Ils le remplissent apres l'avoir creer, mais la taille de fichier est tout
de suite mise a la taille definitive prevue!

est-ce que c la meme methode que pour tronquer ?! ou avec un fichier


overlap
?



Les sources d'emule sont pas dispos ? Les downloader et faire une recherche
sur les fichiers contenant "CreateFile". Ca m'etonnerait pas que tu aies ta
réponse rapidement.


Loic.
Avatar
Patrick Philippot
Will wrote:
Je voudrais savoir comment certains logiciels, comme eMule par
exemple, font pour creer rapidement un gros fichier ?



CreateFile
SetFilePointer
SetEndOfFile
CloseHandle

Ça devrait marcher.

--
Patrick Philippot - Microsoft MVP [.Net]
MainSoft Consulting Services
www.mainsoft.xx
(remplacez .xx par .fr si vous répondez par e-mail)
Avatar
Aurelien REGAT-BARREL
C'est bien avec SetEndOfFile, j'avais déjà testé.
Mais j'avais pas trop pigé le concept. Il parraît que ça réserve la taille
disque, mais que ça n'écrit pas réellement les zéros. Ca le fait lors du 1°
l'accès au fichier (comme un maloc en fait).
J'avais aussi lu un truc comme quoi on pouvait ainsi dépasser la capacité du
disque dur (du moins sous Unix).
Quelqu'un a + d'infos sur le fonctionnement interne de ce truc ?

--
Aurélien
(Je recherche un stage!)
Avatar
Møgluglu
Aurelien REGAT-BARREL a écrit:
C'est bien avec SetEndOfFile, j'avais déjà testé.
Mais j'avais pas trop pigé le concept. Il parraît que ça réserve la
taille disque, mais que ça n'écrit pas réellement les zéros. Ca le
fait lors du 1° l'accès au fichier (comme un maloc en fait).



Oui (heureusement pour la vitesse d'exécution d'ailleurs)

J'avais aussi lu un truc comme quoi on pouvait ainsi dépasser la
capacité du disque dur (du moins sous Unix).



Ça ce sont les sparse files : des fichiers dont certaines zones remplies
de zéros ne sont pas allouées sur le disque. C'est possible sous Unix
(il me semble) mais aussi en NTFS.

Quelqu'un a + d'infos sur le fonctionnement interne de ce truc ?



Cherche à « Sparse Files » dans MSDN.

--
Møgluglu
Avatar
Aurelien REGAT-BARREL
Møgluglu wrote:

Cherche à « Sparse Files » dans MSDN.



Merci.

--
Aurélien
(Je recherche un stage!)