一、参考资料
Linux printf 输出 重定向输出 无法打印问题分析以及解决方法
区分/dev/tty、/dev/console、/dev/pts、/dev/ttyn
二、标准输入输出
文件描述符 | 缩写 | 描述 |
---|---|---|
0 | STDIN | 标准输入 |
1 | STDOUT | 标准输出 |
2 | STDERR | 标准错误输出 |
三、程序中BUG
问题出现在这里:
printf("bug\r\n");
send(sock, "hello\r\n" ,100,0); //发送ID
printf("nihao\r\n");
正常应该是:
pritnf打印到调试终端上。
send发送数据,到TCP另一端。
结果,第二行,第三行都打印到了TCP调试助手,现象如下图:
send函数原型:
#include <sys/types.h>
#include <sys/socket.h>
ssize_t send(int sockfd, const void *buf, size_t len, int flags);
第三个参数为发送的数据长度,这里不能设置为100。
将其改成实际大小,问题就解决了。
printf("bug\r\n");
send(sock, "hello\r\n" ,7,0); //发送ID
printf("nihao\r\n");