2
Quelle est la meilleure façon de le faire:Comment ajouter partiellement un char-ensemble au vecteur <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]);
Je viens de découvrir quelque chose comme:
content.get_allocator = MESSAGE;
Il n'a pas d'erreurs , mais je ne sais pas comment couper MESSAGE
de 0 à SUCCESSFUL
.
note: 'content.get_allocator = MESSAGE;' ne devrait pas compiler, en outre, la fonction ['get_allocator'] (http://www.cplusplus.com/reference/vector/vector/get_allocator/) renvoie la valeur par défaut allocateur associé au paramètre template 2 du template 'vector' (dans votre cas, c'est allocateur'). –
txtechhelp
Si vous voulez vraiment éviter les copies inutiles, vous devriez être en mesure d'utiliser un vecteur «contenu» rempli par ex. zéros (autant que nécessaire pour accueillir tous les messages) et juste alimenter un pointeur avec offset en 'contenu' directement à recv. Le décalage est l'emplacement du prochain caractère inutilisé. –