c - 在 C 程序中的 Ubuntu 上使用 mknod

标签 c linux 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。如果要创建普通文件,请使用 creatopenO_CREAT。是的 mknod 可以创 build 备节点,在某些系统上可能仍然是这样做的方式,但在现代 Linux 系统上,您依赖内核和/或 udevd 来处理这个。

关于c - 在 C 程序中的 Ubuntu 上使用 mknod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5134154/

相关文章:

c - 按列和按行对矩阵进行排序

c++ - 如何为文本文件依赖配置 distcc

ubuntu - apt-get update'返回非零代码: 100

linux - 在 Ubuntu 中重命名 '.' 文件

c - 为什么C程序不能多次运行?

在 C 中将项目强制转换到链表末尾

c++ - FLTK桌面截图问题

Linux静态代码分析工具对比?

linux - 访问位置独立代码中的 .data 部分

c - 我如何正确使用 CoInitialize() 和 CoInitializeSecurity() 就好像我没有调用后者以便我可以使用 IGlobalOptions?