6

我将我的数据保存在程序的可执行文件中。我将它复制到一个临时文件,覆盖以“魔术字符串”开头的部分并将其重命名为原始文件。我知道这是一个坏主意,但我这样做只是为了试验。

到目前为止,我已经完成了所有工作,除了每次替换文件时我都必须重新启用“允许作为可执行文件运行”。有什么方法可以解决这个问题?

附加信息:我使用linux。

4

2 回答 2

24

如果你想避免使用 system(),你可以使用

#include <sys/stat.h>
int chmod(const char *path, mode_t mode);

它记录在http://linux.die.net/man/3/chmod中。

另请参阅:C++ - 如何设置文件权限(跨平台)

于 2012-10-02T16:20:12.033 回答
7

如果包含stdlib.h,则可以使用system("command").

尝试一下:

system("chmod 755 yourExeFile")
于 2012-02-15T06:02:44.050 回答