mkfifo() 无法在 C 中创建文件
Posted
技术标签:
【中文标题】mkfifo() 无法在 C 中创建文件【英文标题】:mkfifo() not able to create file in C 【发布时间】:2015-12-02 13:52:12 【问题描述】:我正在尝试在 C 中创建命名管道,但没有成功。
这是我的代码:
#define FIFO_NAME "/tmp/myfifo"
int main()
int fd;
fd = mkfifo(FIFO_NAME, 0666);//, 0);
if(fd<0)
fprintf(stderr,"Error creating fifo\n");
exit(0);
每次输出时运行上述代码:
Error creating fifo
请帮忙。
【问题讨论】:
使用perror
打印实际的错误信息
检查你是否有 cwd 的写权限
你检查errno了吗?如果我不得不猜测的话,可能是 EEXISTS。
您想将fprintf(stderr,"Error creating fifo\n");
替换为perror("mkfifo() failed");
。这将为您提供长文本错误消息,该消息对应于 errno
在失败时设置的 mkfifo()
的值。
感谢工作,它有一个同名的现有文件。
【参考方案1】:
您想将fprintf(stderr,"Error creating fifo\n");
替换为perror("mkfifo() failed");
。这将为您提供长文本错误消息,该消息对应于mkfifo()
在失败时设置的errno
的值。
– alk
谢谢,它有一个同名的现有文件。 – vidit 耆那教
【讨论】:
以上是关于mkfifo() 无法在 C 中创建文件的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Android 11 中创建文件夹(目录),如何创建?