#include<stdio.h>
#include<unistd.h>
#include<string.h>
#include<stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
int main()
{
int ret =mkfifo("./file",0600);
if(ret==0)//返回值为0则为创建成功
{
printf("mkfifo success!\n");
}
else if(ret==-1)
{
printf("mkfifo failed!\n");
perror("why");
}
return 0;
}
看一些运行结果;
再来一次
因为文件存在了,所以创建失败了
以后用mkfifo函数的标准模板为这样;
#include<stdio.h>
#include<unistd.h>
#include<string.h>
#include<stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include<errno.h>
int main()
{
if((mkfifo("./file",0600)==-1) && errno!=EEXIST)
{
printf("mkfifo faile!\n");
perror("why:");
}
return 0;
}
只显示其他情况的文件创建失败原因!