标准输入和标准输出的read_write
2017-03-20 15:59
218 查看
在/usr/include/unistd.h中有如下定义: /* Standard file descriptors. */ #define STDIN_FILENO 0 /* Standard input. */ #define STDOUT_FILENO 1 /* Standard output. */ #define STDERR_FILENO 2 /* Standard error output. */
#include <stdio.h> #include <string.h> /*客户端的处理过程*/ void process_conn_client(int s) { ssize_t size = 0; char buffer[1024]; /*数据的缓冲区*/ for (;;) { /*循环处理过程*/ /*从标准输入中读取数据放到缓冲区buffer中*/ size = read(0, buffer, 1024); if (size > 0) { /*读到数据*/ write(s, buffer, size); /*发送给服务器*/ size = read(s, buffer, 1024); /*从服务器读取数据*/ write(1, buffer, size); /*写到标准输出*/ } } } /*服务器对客户端的处理*/ void process_conn_server(int s) { ssize_t size = 0; char buffer[1024]; /*数据的缓冲区*/ for (;;) { /*循环处理过程*/ size = read(s, buffer, 1024); /*从套接字中读取数据放到缓冲区buffer中*/ if (size == 0) { /*没有数据*/ return; } /*构建响应字符,为接收到客户端字节的数量*/ sprintf(buffer, "%d bytes altogether/n", size); write(s, buffer, strlen(buffer) + 1);/*发给客户端*/ } } }
# app > out.log // 这样在代码中write(1, buf, size)就直接写入到文件之中了,无需在代码中操作文件
相关文章推荐
- APUE-1.2 将标准输入复制到标准输出(read(),write())
- echo、read、tee、标准输入0、输出1、错误输出2、重定向>、追加重定向>>
- Python第十天 print >> f,和fd.write()的区别 stdout的buffer 标准输入 标准输出 从控制台重定向到文件 标准错误 重定向 输出流和输入流 捕获sys.exit()调用
- Java程序员.回头学C/C++ 之 C语言的标准输入输出
- Unix学习笔记------书本例题编程实例------从标注输入读入然后从标准输出输出
- Java标准输入/输出 重定向
- Linux-标准输入标准输出
- linux 标准输入标准输出
- linux shell 编程笔记 - shell的输入与输出 -3- 标准输入-标准输出-标准错误
- 标准输入输出和管道
- 2. 编写一个程序,从标准输入读取几行输入。每行输入都要打印到标准输出上,前面加上行号。在编写这个程序的时候要使用让这个程序能够处理的输入行的长度没有限制
- 不带缓冲的IO的标准输入到标准输出
- python cv2 中cv2.imread和cv2.resize输入输出参数顺序
- 标准输入/输出/出错
- C语言 标准输入,再标准输出并加行号
- 输入输出流cout:写到标准输出的ostream对象; cerr:输出到标准错误的ostream对象,常用于程序错误信息; clog:也是输出标准错误流(这点儿和cerr是一样的),貌似平时很少用到这
- Perl语言入门笔记 第五章 输入与输出(标准输入输出,文件句柄,printf,die,say)
- c语言:从标准输入读取几行输入,输入打印到标准输出上,加上行号
- C语言 编写一个程序,从标准输入读取几行输入。每行输入都要打印到标准输出上,前面加上行号。在编写这个程序的时候要使这个程序能够处理的输入行的长度没有限制
- C语言:标准输入读取几行输入。每行输入都要打印到标准输出上,前面加上行号。行号不能有限制