📄 prg4_8client.c
字号:
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <errno.h>
#include <stdlib.h>
#include "fifo.h"
#include <readline/readline.h>
#include <readline/history.h>
#include <fcntl.h>
#define MAXLINE 100
#define FILE_MODE (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)
int main(int argc,char **argv)
{
int readfifo,writefifo;
size_t len;
size_t n;
char *ptr,buff[MAXLINE],fifoname[MAXLINE];
char serr[256] = {0};
pid_t pid;
pid = getpid();
snprintf(fifoname,sizeof(fifoname),"/tmp/fifo.%ld",(long)pid);
if ((mkfifo(fifoname,FILE_MODE) <0) && (errno != EEXIST))
{
sprintf(serr,"can't create %s",SERV_FIFO);
perror(serr);
exit(0);
}
snprintf(buff,sizeof(buff),"%ld",(long)pid);
len = strlen(buff);
ptr = buff + len;
fgets(ptr,MAXLINE-len,stdin);
len = strlen(buff);
writefifo = open(SERV_FIFO,O_WRONLY,0);
write(writefifo,buff,len);
readfifo = open(fifoname,O_RDONLY,0); //never used
while( (n = read(readfifo,buff,))>0)
{
write(STDOUT_FILENO,buff,n);
}
close(readfifo);
unlink(fifoname);
exit(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -