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