⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 实例9-5.c

📁 Linux下C语言编程例子
💻 C
字号:
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <fcntl.h>
#define FIFO_SERVER "/tmp/fifoserver"
int handle_client(char*);
main(int argc,char** argv)
{
	int r_rd;
	int w_fd;
	pid_t pid;

	if((mkfifo(FIFO_SERVER,O_CREAT|O_EXCL)<0)&&(errno!=EEXIST))
		printf("cannot create fifoserver\n");
	handle_client(FIFO_SERVER);
	
}

int handle_client(char* arg)
{
int ret;
ret=w_open(arg);
switch(ret)
{
	case 0:
	{	
	printf("open %s error\n",arg);
	printf("no process has the fifo open for reading\n");
	return -1;
	}
	case -1:
	{
		printf("something wrong with open the fifo except for ENXIO");
		return -1;
	}
	case 1:
	{
		printf("open server ok\n");
		return 1;
	}
	default:
	{
		printf("w_no_r return ????\n");
		return 0;
	}
}		
unlink(FIFO_SERVER);
}

int w_open(char*arg)
{
	if(open(arg,O_WRONLY|O_NONBLOCK,0)==-1)
	{	if(errno==ENXIO)
		{
			return 0;
		}
		else
		return -1;
	}
	return 1;
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -