Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    42

    [C++]Eliminare attributi file

    ciao a tutti,
    vorrei sapere come togliere l'opzione di sola lettura da un file,io ho provato così ma non funziona:
    codice:
    SetFileAttributesA("file.txt", ~FILE_ATTRIBUTE_READONLY);
    grazie per l'aiuto.

  2. #2
    ~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.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    42
    Grazie per la risposta

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.