在Ubuntu中用C创建一个文件作为可执行程序

Rob*_*lex 2 c c++ linux ubuntu

我的程序通过TCP套接字接收可执行的二进制文件.

我需要将此文件作为可执行程序保存到硬盘中.文件已成功接收,但问题是默认文件属性被设置为不可执行.

如何在Ubuntu中将文件的属性更改为C中的可执行文件?

谢谢,问候,机器人

dsc*_*ulz 6

怎么样int chmod(const char *path, mode_t mode)int fchmod(int fd, mode_t mode) ?

apropos chmod
man 2 chmod
Run Code Online (Sandbox Code Playgroud)

最基本的例子:

#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char* argv[]){

   char * fpath = "/path/to/binary";
   int ret=0;
   if(ret = chmod(fpath, S_IRUSR|S_IXUSR) < 0){
      perror("chmod failed");
      exit(1);
   }

   printf("chmod ok\n");
   exit(0);
}
Run Code Online (Sandbox Code Playgroud)