Domanda

Come posso bloccare / sbloccare a livello di codice, o altrimenti impedire / abilitare la modifica, un file sorgente su Linux usando C ++.

Voglio essere in grado di bloccare il file sorgente in modo che se lo apro in un editor non mi permetterà di salvare nuovamente nello stesso file sorgente.

Sto pensando di cambiare forse i permessi in sola lettura (e cambiarlo in lettura-scrittura più tardi): come posso farlo da C ++?

È stato utile?

Soluzione

Prova man fchmod:

NAME
       chmod, fchmod - change permissions of a file

SYNOPSIS
       #include <sys/types.h>
       #include <sys/stat.h>

       int chmod(const char *path, mode_t mode);
       int fchmod(int fildes, mode_t mode);

Altri suggerimenti

Perché non stai utilizzando uno strumento di gestione del codice sorgente come CVS o Subversion? CVS fa un bel lock (anche Subversion). Ancora più importante, hai la cronologia dei cambiamenti. Meglio ancora (con CVS comunque) devi fare il passo per fare un "checkout" per rendere il file scrivibile.

Sì, è un po 'difficile dire cosa stai cercando

  • Sicurezza contro altri utenti che modificano i tuoi file - > usa " chmod, fchmod "

  • Sicurezza contro di te stesso che si rovina accidentalmente con i tuoi file sorgente - > dovresti davvero cambiare il tuo modo di pensare e utilizzare uno strumento di controllo del codice sorgente. Come Subversion (SVN) o anche meglio Mercurial .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top