我做的插座之间的简单沟通,这里是我的C++代码缓冲区大小改变
while(1)
{
string buffer = "23,45\n";
const char* foo = buffer.c_str();
cout << "size of buffer is " << sizeof(buffer)<<endl;
send (s, foo, sizeof(buffer), 0);
}
奇怪的是拳头迭代,缓冲区的大小是5如预期,但由于第二次迭代和如此一来,规模急剧上升到了32.为什么?非常感谢你。顺便说一句,增加的尺寸来自领先而空间。
为什么不像使用'string'时那样使用'buffer.size()'? – Griwes 2012-04-08 15:25:51
'sizeof(buffer)'返回'buffer'对象的大小,它与它所包含的字符串的长度不同。 – 2012-04-08 15:28:12
看看这里>> http://www.cplusplus.com/forum/beginner/24922/ – 2012-04-08 15:28:49