C++ 如何向vector部分添加字符数组<;char>;

C++ 如何向vector部分添加字符数组<;char>;,c++,vector,char,winsock,C++,Vector,Char,Winsock,最好的方法是什么: 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]); 它没有任何错误,但我不知道如何将消息从0剪切到成功 content.insert(content.end(), MES

最好的方法是什么:

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]);
它没有任何错误,但我不知道如何将
消息
从0剪切到
成功

content.insert(content.end(), MESSAGE, MESSAGE+SUCCESSFUL);

当然,在执行此操作之前,不要忘记检查
recv()
是否失败并返回
-1

注意:
content.get\u allocator=MESSAGE
不应编译,此外,该函数返回与
向量
模板的第二个模板参数相关联的默认分配器(在您的情况下,它是
分配器
)。如果您确实希望避免不必要的复制,您应该能够使用一个填充了例如零的“内容”向量(尽可能多地容纳所有消息),只需将带有偏移量的指针直接输入“content”到recv。偏移量是下一个未使用字符的位置。
content.insert(content.end(), MESSAGE, MESSAGE+SUCCESSFUL);