2011-10-27 10 views
9

En mi aplicación MFC he establecido el atributo de solo lectura en un archivo en particular. He hecho esto usando la función SetFileAttributes(). En algún momento tengo que eliminar ese atributo de ese archivo de nuevo.Cómo quitar el atributo de solo lectura de un archivo MFC

¿Alguien puede explicar cómo hacer esto?

+1

no acaba de GetFileAttributes, máscara de la bandera (banderas & = ~ READ_ONLY) y SetFileAttributes de nuevo? – Rup

+0

Gracias por el comentario ... pero no está claro ... ¿Puede explicar (si no le importa un ejemplo será más útil) – JijeshKV

+0

Supuse que no era muy diferente de lo que ya estaba haciendo a ¡configúrelo como leído solo en primer lugar! Pero me alegro de ver que Serge te ha ayudado, debes hacer clic en la marca al lado de su respuesta, ya que resolvió tu problema. – Rup

Respuesta

21

Use SetFileAttributes de nuevo para restablecer el indicador:

SetFileAttributes(pszFilename, 
        GetFileAttributes(pszFilename) & ~FILE_ATTRIBUTE_READONLY); 
+0

hola gracias ... muchas gracias ... funcionó ... :)) – JijeshKV

+1

GetFileAttributes() puede devolver muchas otras banderas que la función SetFileAttributes() no entiende, ¿es seguro? ¿Se ignorará esa bandera adicional? –

+0

La segunda llamada tiene un error tipográfico, Archivo no archivos :) – paulm

Cuestiones relacionadas