Mettre du texte au début comme au millieu, c'est possible. Mais c'est tout un sport. Premièrement, pour insérer du texte au début, tu peux mettre dans un buffer tout le texte de ton fichier, écrire ton texte pour le début, réouvrire en mode "a" puis copier le buffer dans le fichier. Avec les fonctions de l'API ça donne à peut près:
HANDLE hFile;
DWORD size, byte;
char *buffer;
hFile = CreateFile("fichier.txt", GENERIC_READ|GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
size = GetFileSize(hFile, 0);
buffer = (char*)malloc(size); // ici j'utilise normalement VirtualAlloc mais c'est plus simple avec malloc
ReadFile(hFile, buffer, size, &byte, 0);
SetFilePointer(hFile, 0, 0, FILE_BEGIN);
WriteFile(hFile, (LPVOID)"Allo test 123 ", 14, &byte, 0);
WriteFile(hFile, buffer, size, &byte, 0);
free(buffer);
CloseHandle(hFile);
Ce bout de code fonctionne parfaitement.
C++ (@++)
___________________________________________
Les plus grands esprits trouvent toujours une solution
[ Lien ]