4 votes

Qt/C++ (Pré-)Allocation d'un grand fichier

Existe-t-il un moyen d'allouer un fichier d'une taille déterminée avec Qt ?

La raison en est d'éviter ou de minimiser la fragmentation. Je ne veux pas écrire à zéro un gros fichier (surcharge indésirable), mais simplement l'allouer à partir du système de fichiers.

J'aimerais une solution qui fonctionne sur Win/OSX/Linux. Je sais qu'il existe des solutions en fonction du système de fichiers en question pour toutes ces plateformes, mais trouver les solutions et les tester sur chaque plateforme prend du temps.

3voto

friendzis Points 519

Je ne suis pas sûr de la fragmentation, mais Qt a QFile::resize() qui pré-alloue (ou tronque) clairement le fichier. Le processus est rapide - ~1s pour 800MB sur ma machine, donc le fichier n'est pas explicitement rempli de déchets. Testé sur Windows 7.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X