0

我是 C 编程的新手,我正在尝试将文件的权限设置为只读。我确定我没有正确的指令,当我尝试编译时,我在#include <io.h> 位于“致命错误:io.h 没有这样的文件或目录”的行上得到错误。文件 'time.log' 位于名为 'time_logs' 的目录中,程序将从目录 'time_logs' 所在的同一目录中运行。

操作系统是使用 GCC 的 Raspberry Pi 4 Arm 的 Rasbian

#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <io.h>
#include <sys.h>


struct stat st = {0};

int main(void){


      if(_chmod("time_logs/time.log", _S_IREAD) == -1)
         perror("Not found");

        else{
              _chmod("time_logs/time.log", _S_IREAD);

             }
}




4

1 回答 1

1

看起来您使用 Windows 手册尝试为 Linux 编写代码。

#include <unistd.h>
#include <sys/stat.h>

      if(chmod("time_logs/time.log", S_IRUSR | S_IRGRP | S_IROTH) == -1)
         perror("time_logs/time.log");

但大多数人只是直接输入权限位。这将是0444。调整口味。

于 2020-11-30T03:52:11.470 回答