prg4_6_1client.c

来自「配套光盘网络编程进程间的通信,网络编程进程间的通信是一本很经典的好书」· C语言 代码 · 共 45 行

C
45
字号
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#define 	MAXLINE  100
#define 	FIFO1	"/tmp/fifo.1"
#define 	FIFO2	"/tmp/fifo.2"
#define 	FILE_MODE	(S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)
void client(int ,int);
int main(int argc,char ** argv)
{
	int 	readfd,writefd;
	char 	serr[256] = {0};
	writefd = open(FIFO1,O_WRONLY,0);
	readfd = open(FIFO2,O_RDONLY,0);
	
	client(readfd,writefd);
	close(readfd);
	close(writefd);
	
	unlink(FIFO1);
	unlink(FIFO2);
	exit(0);
}

void client(int readfd,int writefd)
{
	size_t		len;
	size_t		n;
	char			buff[MAXLINE];
	
	//从命令行中读入一个路径到IPC管理
	fgets(buff,MAXLINE,stdin);
	len = strlen(buff);
	if (buff[len-1] == '\n')
		len-- ;
	write(writefd,buff,len);
	//read from IPC ,write to standard output
	while( (n=read(readfd,buff,MAXLINE)) >0)
			write(STDOUT_FILENO,buff,n);
}

⌨️ 快捷键说明

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