-1

我在/proc名为“test”的文件中创建了一个文件(它是在内核中创建的)。该文件存在。当我想在用户级别打开它时,它返回负数。

int fd;
if((fd=open("/proc/test","O_RDONLY"))<0){ 
      perror("open"); 
}

我看到的错误是open: File exists. 我见过这个问题,但这不是我的情况。

4

1 回答 1

3

您需要在其中使用括号(现在在问题中已修复),并且第二个参数open()不是字符串:

#include <fcntl.h>

int fd;
if ((fd = open("/proc/test", O_RDONLY)) < 0)
    perror("open");

我不相信在/proc文件系统中创建任何类型的文件是个好主意。事实上,我有点惊讶你被允许这样做。如果你正在学习编程root,我希望你有很好的备份。

于 2013-07-24T05:36:46.980 回答