使用C ++锁定/防止在Linux上编辑源文件

时间:2008-10-07 08:43:14

标签: c++ linux file-locking

如何使用C ++以编程方式锁定/解锁或以其他方式阻止/启用编辑Linux上的源文件。

我希望能够锁定源文件,这样如果我在编辑器中打开它,它将不允许我保存回相同的源文件。

我在考虑将权限更改为只读(并在以后将其更改为读写):如何从C ++中执行此操作?

3 个答案:

答案 0 :(得分:5)

尝试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);

答案 1 :(得分:1)

为什么不使用CVS或Subversion等源代码管理工具? CVS做得很好(Subversion也是如此)。更重要的是,您有变化的历史。更好的是(无论如何使用CVS)你必须做一个“结帐”以使文件可写的步骤。

答案 2 :(得分:1)

是的,有点难以说出你在找什么

  • 针对编辑您文件的其他用户的安全性 - &gt;使用“chmod,fchmod”

  • 您自己不小心弄乱了源文件的安全性 - &gt;你应该真正改变你的想法并使用源代码控制工具。与Subversion (SVN)或更好Mercurial一样。