我正在尝试制作一个 c 程序,我正在使用 mknod 命令,例如
#include<stdio.h>
#include<fcntl.h>
#include<string.h>
char info[50];
main() {
int fdr;
int rc = mknod("testfile",'b',0);
if(rc<0) {
perror("Error in mnod");
}
fdr=open("testfile",O_RDONLY);
read(fdr,info,50);
printf("\n Received message=%s",info);
printf("\n");
}
然后做一些事情。它在 Red Hat 系统上运行良好,但在 ubuntu 上失败,给出错误参数无效。
最佳答案
mknod
已弃用;你不应该使用它。如果要创建 FIFO,请使用标准的 mkfifo
。如果要创建普通文件,请使用 creat
或 open
和 O_CREAT
。是的 mknod
可以创 build 备节点,在某些系统上可能仍然是这样做的方式,但在现代 Linux 系统上,您依赖内核和/或 udevd
来处理这个。
关于c - 在 C 程序中的 Ubuntu 上使用 mknod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5134154/