在 C++ 中修改后修复文件权限?
我将数据保存在程序的可执行文件中。我将其复制到临时文件,覆盖以“魔术字符串”开头的部分,并将其重命名为原始文件。我知道这是一个坏主意,但我这样做只是为了实验。
到目前为止,一切正常,除了每次替换文件时我必须重新启用“允许作为可执行文件运行”。有哪些方法可以解决这个问题?
附加信息:我使用linux。
I'm saving my data in the executable file of the program. I copy it to a temporary file, overwrite a part starting at a 'magic string' and rename it to the original. I know this is a bad idea, but I'm doing it just for experimenting.
I got everything to work so far, except for that I have to re-enable "Allow running as an executable" each time the file is replaced. What ways are there to solve this?
Additional information: I use linux.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果你想避免使用system(),你可以使用
它在http://linux中记录。 die.net/man/3/chmod。
另请参阅:C++ - 如何设置文件权限(跨平台)。
If you want to avoid using system(), you can use
It is documented in http://linux.die.net/man/3/chmod.
See also: C++ - How to set file permissions (cross platform).
如果包含
stdlib.h
,则可以使用system("command")
。尝试一下:
If you include
stdlib.h
, you can usesystem("command")
.Try it: