我将我的数据保存在程序的可执行文件中。我将它复制到一个临时文件,覆盖以“魔术字符串”开头的部分并将其重命名为原始文件。我知道这是一个坏主意,但我这样做只是为了试验。
到目前为止,我已经完成了所有工作,除了每次替换文件时我都必须重新启用“允许作为可执行文件运行”。有什么方法可以解决这个问题?
附加信息:我使用linux。
我将我的数据保存在程序的可执行文件中。我将它复制到一个临时文件,覆盖以“魔术字符串”开头的部分并将其重命名为原始文件。我知道这是一个坏主意,但我这样做只是为了试验。
到目前为止,我已经完成了所有工作,除了每次替换文件时我都必须重新启用“允许作为可执行文件运行”。有什么方法可以解决这个问题?
附加信息:我使用linux。
如果你想避免使用 system(),你可以使用
#include <sys/stat.h>
int chmod(const char *path, mode_t mode);
它记录在http://linux.die.net/man/3/chmod中。
另请参阅:C++ - 如何设置文件权限(跨平台)。
如果包含stdlib.h
,则可以使用system("command")
.
尝试一下:
system("chmod 755 yourExeFile")