char *gets(char *str);
str 的结束符 \0, \n; 无最大长度; 不接收\n
char *fgets(char *str, int maxlen, FILE *fp);
str 的结束符\0; 最大长度 maxlen; 接收\n
---------------------
size_t read(int fd, void *buf, size_t count);
从fd中读入count个字符到buf中;
write(int fd, const void *buf, size_t count);
把buf 中的count个字符写入到fd中;
注意 当buf为字符串时,记得要把最后的\0 也要算上;
--------------------
无名管道的4种情况
读端 写端
开 关 返回0
关 开 读端进程默认被终止(收到操作系统的信号sigpipe)
开 开 当读端没有数据可读时:读端阻塞,直到有数据可读时,阻塞解除
开 开 读端没有进行读操作,写端不断写数据:当到达系统缓存默认最大值时,写端被阻塞,知道读端有数据读走数据