fifo_write.c

来自「包含《嵌入式Linux应用程序开发详解》一书的源码」· C语言 代码 · 共 33 行

C
33
字号
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define FIFO_SERVER "/tmp/myfifo"

main(int argc,char** argv)
{
	int fd;
	char w_buf[100];
	int nwrite;
/*打开fifo管道,并设置非阻塞标志*/
	fd=open(FIFO_SERVER,O_WRONLY|O_NONBLOCK,0);
if(fd==-1)
		if(errno==ENXIO)
			printf("open error; no reading process\n");
	if(argc==1)
		printf("Please send something\n");
	strcpy(w_buf,argv[1]);
	if((nwrite=write(fd,w_buf,100))== -1)
	{
		if(errno==EAGAIN)
			printf("The FIFO has not been read yet.Please try later\n");
	}
	else 
		printf("write %s to the FIFO\n",w_buf);
}


⌨️ 快捷键说明

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