C ++ - исправление прав доступа к файлам после изменения - PullRequest
4 голосов
/ 15 февраля 2012

Я сохраняю свои данные в исполняемом файле программы.Я копирую его во временный файл, перезаписываю деталь, начинающуюся с 'magic string' , и переименовываю ее в оригинал.Я знаю, что это плохая идея, но я делаю это только для экспериментов.

До сих пор у меня все работало, за исключением того, что мне приходится каждый раз повторно включать «Разрешить запуск в качестве исполняемого файла»файл заменен.Какие есть способы решить эту проблему?

Дополнительная информация: Я использую Linux.

Ответы [ 2 ]

21 голосов
/ 02 октября 2012

Если вы хотите избежать использования system (), вы можете использовать

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

Это задокументировано в http://linux.die.net/man/3/chmod.

См. Также: C ++ - Как установить файлразрешения (кроссплатформенный) .

6 голосов
/ 15 февраля 2012

Если вы включите stdlib.h, вы можете использовать system("command").

Попробуйте:

system("chmod 755 yourExeFile")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...