En fait, c'est pour créer une arborescence de dossiers/fichiers. J'utilise donc un code récursif. La taille de l'arborescence est donc aléatoire.
Voilà une explication du code (un peu long) :
Du coup, à l'initialisation j'alloue avec malloc() pour mettre le dossier de départ de l'arborescence. Ensuite à chaque fois que je vais ajouter un fichier ou un dossier à l'arborescence, je fais un realloc(buffer, taille_arborescence + 1000);
Selon ce qui a été ajouté je fais : taille_arborescence += nombre_d'_octets_écrits;
Et ainsi de suite avec la récursivité.
J'ai essayé une autre façon, en faisant un realloc() uniquement quand c'est nécessaire :
if(_msize(Arborescence) < *TailleArb + 1000) Arborescence = (char*)realloc(Arborescence, *TailleArb + 1048576);
J'augmente la taille du bloc mémoire d'1 Mo à chaque fois que sa taille devient limite insuffisante.
Et visiblement ça à l'air de passer comme ça.
Qu'en pensez-vous ?

PS à Matt67 : le programme plante pour certaines arborescences et pas pour d'autres.
YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
____________________________________________
[Site officiel de YoyoCut, découpe fichiers open source]