【发布时间】:2009-04-15 00:34:48
【问题描述】:
我正在尝试在 C++ 中使用一些套接字网络编程。我正在尝试发送文本“Hello World!”使用 C++ send() 函数发送到服务器。起初,我将缓冲区的大小设置为 13,因为“Hello World!”一共是 12 个字符(你必须使它比字符数多一个)。如果我发送大约 7 次,发送功能只会将字符发送到服务器。当它最终到达服务器时,它看起来像这样:
“Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!”
现在是有趣的部分。 “你好世界!”如果我将缓冲区大小设置为 256 (char buffer[256];),句子会立即发送。但是,当涉及到这样的服务器时,它会显示“Hello World!”这两个词后面有一大堆空格。为什么会发生这种情况,如果可能,我该如何解决?请告诉我。
谢谢
【问题讨论】:
-
你是否终止了你的字符串? “Hello World!\0”