Avatar billede Lasse Novice
23. oktober 2001 - 18:55 Der er 5 kommentarer og
3 løsninger

log fil

Jeg skal have lavet en log fil... Hver gang jeg skriver til den, skal der apendes noget. Jeg goer foelgende(vc++)... Men det er ligesom om den overskriver det:

    HANDLE hFile = ::CreateFile(\"error.log\",GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
    unsigned long buffer;
    ::WriteFile(hFile,tmp,tmp.GetLength(),&buffer,NULL);
    ::CloseHandle(hFile);
Avatar billede jpk Nybegynder
23. oktober 2001 - 22:49 #1
Man skal typisk flytte filens interne pointer til enden af filen, før man skriver.
Check metoden SetFilePointer...

Men bruger du MFC er det mere simpelt med CFile...
Avatar billede joha Nybegynder
24. oktober 2001 - 02:59 #2
MFC er en del lettere, men SetFilePointer metoden er nu også rimlig simpel:

// Open the file:
::CreateFile(hFile, ...);

// Set filepointer to end of file:
::SetFilePointer(hFile, 0, NULL, FILE_END);

// Close handle when finished:
::CloseHandle(hFile);
Avatar billede soepro Nybegynder
24. oktober 2001 - 08:38 #3
Når man anvender til mere simple metoder fopen(), fwrite() og fread(), kan man direkte i fbm. open angive at filen åbnes APPEND, dvs. alt hvad der bliver skrevet ryger i enden af filen. CreateFile MÅ da indeholde et tilsvarende flag f.eks. GENERIC_APPEND i stedet for GENERIC_WRITE.
Avatar billede kamikaze Nybegynder
24. oktober 2001 - 15:26 #4
soepro >> Det gør den også
Avatar billede kamikaze Nybegynder
24. oktober 2001 - 15:27 #5
Jeg kan bare ikke lige huske det nøjagtige navn...
Avatar billede kamikaze Nybegynder
24. oktober 2001 - 16:38 #6
Jeg mener at du skal bruge OPEN_APPEND isetdet for OPEN_ALWAYS.
Avatar billede Lasse Novice
24. oktober 2001 - 17:19 #7
ok, jeg har brugt jpk\'s forslag... det virkede
Avatar billede joha Nybegynder
28. oktober 2001 - 03:05 #8
kamikaze der findes ikke noget flag der hedder OPEN_APPEND, det ville jo også være for nemt!!!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester