Kann keine dateien überschreiben?!
-
void SaveToFile(char *pFilename, char *pBuffer, int nSize) { HANDLE hf; hf = CreateFile(pFilename, GENERIC_WRITE, FILE_SHARE_READ, (LPSECURITY_ATTRIBUTES) NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, (HANDLE) NULL); unsigned long nBytesRead; WriteFile(hf , pBuffer, nSize, &nBytesRead, NULL); }wieso kann ich damit keine dateien überschreiben? mit GENERIC_WRITE müsste das doch gehen?!
ich kriege auch keinen fehler...die datei wird einfach nicht geändert!
-
Man kann auch Fehler im Quellcode überprüfen, die Funktion GetLastError() bietet sich dafür geradezu an...
-
wo kann ich die error codes checken? ich krieg die 53 !
edit: ups habs!
edit2:
53 The network path was not found. ERROR_BAD_NETPATH
wieso ? network? ich lass mir den error so anzeigen:char *err = new char; itoa(GetLastError(),err,36); MessageBox(NULL, err , "",0)aber da kann doch was nicht stimmen!
egal, mit CloseHandle geht jetzt trotzdem alles....
-
pixartist schrieb:
char *err = new char; itoa(GetLastError(),err,36); MessageBox(NULL, err , "",0)aber da kann doch was nicht stimmen!
Wieso Basis 36?
Für Dualzahlen nimmt man da 2, für Dezimalzahlen 10 und für Hex-Zahlen 16.
Tu Dir doch endlich mal selbst den Gefallen und fang an ein C-Tutorial durchzuackern. So hat das doch gar keinen Sinn, was Du da machst...
-
In der MSDN/PSDK steht unter "FormatMessage" auch noch nen Beispiel wie man direkt die Fehlermeldung statt dem Fehlercode ausgeben kann...