Hello,

J'aimerais trouver l'algorithme qui me permettrait de remplir un fichier, d'une taille inconnue à l'avance, le plus rapidement possible et également le moins couteux possible en terme de mémoire (alloc dynamique interdite).

En gros moi je vois quelque chose de ce genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
long Size, NbBytes;
long lBuf = 0xAAAAAAAA;
char cBuf = 0xAA;
 
File.Open(pName)
 
Size = File.Size();
NbBytes = Size;
 
File.Seek(0);
 
if (Size > sizeof(long)) {
  do {
    File.Write(&lBuf, sizeof(long));
    NbBytes -= sizeof(long);
  } while(NbBytes >= sizeof(long));
}
 
while (NbBytes-- > 0) {
  File.Write(&cBuf, 1);
}
 
File.Close();
En résumé écrire des pattern de 4 octets. Ou alors ai-je meilleur temps d'écrire des gros blocs de plusieurs dizaines d'octets?

Qu'en pensez-vous?