是因为在写程序的时候,习惯性地使用strlen函数,而strlen函数遇见buf中的0,也就是\0字符以后,就会将buf的长度截止掉。
因此,在使用send或者write函数时,应该不能使用strlen函数计算buf的长度,而自己指定长度或者for循环中计算出buf的写入的长度count。
#include <sys/types.h>
#include <sys/socket.h>
ssize_t send(int sockfd, const void *buf, size_t len, int flags);
又发现自己的程序出现问题了,也是C库中的处理字符串的·函数strcat导致的,难受... ...
因此,使用for循环遍历buf中的内存的每一个成员进行处理