ciao a tutti,
vorrei sapere come togliere l'opzione di sola lettura da un file,io ho provato così ma non funziona:
grazie per l'aiuto.codice:SetFileAttributesA("file.txt", ~FILE_ATTRIBUTE_READONLY);
ciao a tutti,
vorrei sapere come togliere l'opzione di sola lettura da un file,io ho provato così ma non funziona:
grazie per l'aiuto.codice:SetFileAttributesA("file.txt", ~FILE_ATTRIBUTE_READONLY);
~FILE_ATTRIBUTE_READONLY genera una bitmask contenente tutti gli attributi tranne il readonly, tra cui anche attributi che non esistono; per questo motivo probabilmente la tua SetFileAttributes fallisce.
Il modo corretto di procedere è:
codice:DWORD attr=GetFileAttributes(fileName); if(attr==INVALID_FILE_ATTRIBUTES) { ... gestisci l'errore ... } // applica la bitmask, rimuovendo l'attributo readonly attr&= ~FILE_ATTRIBUTE_READONLY; if(!SetFileAttributes(fileName, attr)) { ... gestisci l'errore ... }
Amaro C++, il gusto pieno dell'undefined behavior.
Grazie per la risposta