📄 mainclient.c
字号:
#include "fifo.h"intmain(int argc, char **argv){ int readfifo, writefifo; size_t len; ssize_t n; char *ptr, fifoname[MAXLINE], buff[MAXLINE]; pid_t pid; /* 4create FIFO with our PID as part of name */ pid = getpid(); snprintf(fifoname, sizeof(fifoname), "/tmp/fifo.%ld", (long) pid); if ((mkfifo(fifoname, FILE_MODE) < 0) && (errno != EEXIST)) err_sys("can't create %s", fifoname); /* 4start buffer with pid and a blank */ snprintf(buff, sizeof(buff), "%ld ", (long) pid); len = strlen(buff); ptr = buff + len; /* 4read pathname */ Fgets(ptr, MAXLINE - len, stdin); len = strlen(buff); /* fgets() guarantees null byte at end */ /* 4open FIFO to server and write PID and pathname to FIFO */ writefifo = Open(SERV_FIFO, O_WRONLY, 0); Write(writefifo, buff, len); /* 4now open our FIFO; blocks until server opens for writing */ readfifo = Open(fifoname, O_RDONLY, 0); /* 4read from IPC, write to standard output */ while ( (n = Read(readfifo, buff, MAXLINE)) > 0) Write(STDOUT_FILENO, buff, n); Close(readfifo); Unlink(fifoname); exit(0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -