在c程序中使用Ubuntu上的mknod
作者:互联网
我正在尝试制作一个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或使用O_CREAT打开.是的mknod可以创建设备节点,在某些系统上可能仍然是这样做的方法,但在现代Linux系统上,你依靠内核和/或udevd来处理它.
标签:c-3,linux,ubuntu,mknod 来源: https://codeday.me/bug/20190827/1737052.html