将C中文件的权限设置为只读

Setting Permissions to a file in C to Read Only

我是 C 编程的新手,我正在尝试将文件的权限设置为只读。我确定我没有正确的指令,当我尝试编译时,我在#include is on "fatal error: io.h no such file或目录”。文件 'time.log' 位于名为 'time_logs' 的目录中,程序将从目录 'time_logs' 所在的同一目录中 运行。

OS 是 Raspberry Pi 4 Arm 使用 GCC 的 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);

             }
}




您似乎使用 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。调整口味。