/ / C ++ - corrigindo permissões de arquivo após modificar - c ++, linux, executável, permissões de arquivo, auto-modificadoras

C ++ - corrigindo permissões de arquivo após modificar - c ++, linux, executável, permissões de arquivo, auto-modificadoras

Eu estou salvando meus dados no arquivo executável do programa. Eu copio para um arquivo temporário, sobrescrever uma parte a partir de um arquivo. "corda mágica" e renomeá-lo para o original. Eu sei que isso é uma má ideia, mas estou fazendo isso apenas por experimentar.

Eu tenho tudo para trabalhar até agora, exceto que eu tenho que reativar "Permitir a execução como um executável" cada vez que o arquivo é substituído. Que maneiras existem para resolver isso?

Informações adicionais: eu uso o linux.

Respostas:

19 para resposta № 1

Se você quiser evitar usar system (), você pode usar

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

Está documentado em http://linux.die.net/man/3/chmod.

Veja também: C ++ - Como definir permissões de arquivos (multiplataforma).


3 para resposta № 2

Se você incluir stdlib.h, você pode usar system("command").

Tente:

system("chmod 755 yourExeFile")