我编写了以下代码,但编译器告诉我'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 ;
}
答案 0 :(得分:1)
您已包含正确的库,但拼写错误的函数名称和宏名称。
宏mknod()
应该S_IFIFO
起作用。