首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mkfifo()创建文件出错

mkfifo()创建文件出错
EN

Stack Overflow用户
提问于 2021-10-22 18:52:59
回答 1查看 54关注 0票数 0

我正在学习有关命名管道的知识。当我做mkfifo()什么都没有发生,我没有得到一个额外的文件在我的文件夹中,我可以写入或读取。有什么建议吗?

代码语言:javascript
复制
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>

int main()
{
    mkfifo("C:\\Users\\name\\Documents\\codes", 0666);
}
EN

回答 1

Stack Overflow用户

发布于 2021-10-22 19:23:48

不可能在任何默认的Windows文件系统上创建命名管道;如果您愿意的话,0666也不是正确的权限。对这个类函数的可移植调用使用符号常量,这些常量在不同的操作系统上扩展不同的值,但我离题了。

如果你在Windows上需要命名管道,你可以调用CreateNamedPipe。这实际上导致了一条理论上可以交给另一个程序的路径。然而,Windows上的管道有点特殊,不应该交给需要文件的程序。因此,最明显的方法是正确的方法,告诉程序打开命名管道,并为其命名以传递给CreateNamedPipe本身。如果程序不需要命名管道,那么即使您将其作为打开的文件句柄传递给它,它也很可能无法工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69681843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档