系统相关
首页 > 系统相关> > 在c程序中使用Ubuntu上的mknod

在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