我做的插座之間的簡單溝通,這裏是我的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