S_FIFO未声明

时间:2014-03-14 11:37:20

标签: c named-pipes

我编写了以下代码,但编译器告诉我'S_FIFO'未声明,我认为问题是包含'S_FIFO'的库不包含,所以我已经包含了最后3个库,但问题没有解决?

#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h> 

int main()
{
    FILE* fp;
    int fd ; 
    if(mknode("/Desktop/s/test" , S_FIFO | 0666 , 0) == -1) 
        printf("ERROR \n");
    fp = fopen("/Desktop/s/test" , "r");
    char string[80] ;
    fgets(string , 80 ,fp) ; 
    fclose(fp); 
    return 0 ;
}

1 个答案:

答案 0 :(得分:1)

您已包含正确的库,但拼写错误的函数名称和宏名称。

mknod()应该S_IFIFO起作用。