Append dans un fichier existant
Bonjour,
Je cherche a creer un fichier "toto.xml" et a dumper dedans une structure (tout fonctionne). Mais lorsque je veux rajouter des infos a ce fichier (et non ecraser son contenu), je n'y arrive pas... voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
void DumpIntoFile(string monContenu, bool trash)
{
//Je passe trash = true ou false si je veux ecraser ou append le fichier
HANDLE hFile = NULL;
unsigned int flag;
if (trash)
flag = CREATE_ALWAYS;
else
flag = OPEN_ALWAYS;
// The file should always be created, trash it if it exists beforehand.
hFile = CreateFile(
fileName.c_str(),
GENERIC_READ|GENERIC_WRITE,
NULL,
NULL,
flag,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
return NULL;
}
SetEndOfFile(hFile);
LetsWrite(hFile, monContenu);
CloseHandle(hFile);
//...
} |
Quoiqu'il arrive, malgre mon "SetEndOfFile(...)", lorsque je met mon "trash=false" le contenu de mon fichier est ecrase des que j'appelle "DumpIntoFile" alors qu'il devrait normalement mettre le pointeur du fichier a la fin...
Une idee ?
Merci !