2
什麼是做到這一點的最好辦法:如何部分增加一個字符數組爲矢量<char>
vector<char> content;
char MESSAGE[1024];
SUCCESSFUL = recv(sock_CONNECTION, MESSAGE, 1024, NULL);
for (int i = 0; i < SUCCESSFUL; i++)
content.push_back(MESSAGE[i]);
我剛剛發現是這樣的:
content.get_allocator = MESSAGE;
它沒有任何錯誤,但我不知道如何從0減少MESSAGE
到SUCCESSFUL
。
note:'content.get_allocator = MESSAGE;'不應編譯,此外,['get_allocator'](http://www.cplusplus.com/reference/vector/vector/get_allocator/)函數返回默認值分配器與'vector'模板的第二個模板參數相關聯(在你的情況下,它是'allocator')。 –
txtechhelp
如果你真的想避免不必要的複製,你應該可以使用充滿了例如零(儘可能多地容納所有消息),並直接將一個帶偏移量的指針提供給'內容'直接到recv。偏移量是下一個未使用字符的位置。 –