2
J'essaye de lire depuis un socket asio dans une chaîne std :: sans copier. Cette implémentation semble fonctionner mais je ne suis pas sûr que ce soit fiable.Écrire depuis asio :: ip :: tcp :: socket directement vers std :: string
string read(int bytes)
{
string str;
str.resize(bytes);
char* buffer = (char*) str.data();
//socket is declared as class member
asio::read(socket,asio::buffer(buffer,bytes));
return str;
}
Votre question tombe dans la catégorie générale de "puis-je écrire directement dans le tampon' std :: string'? ". [On dirait un doublon] (http://stackoverflow.com/questions/25169915/is-writing-to-str0-buffer-of-a-stdstring-well-defined-behaviour-in-c11) – PaulMcKenzie
Ce qui vous rend incertain ? –
@PaulMcKenzie ouais c'était à peu près la réponse que je cherchais mais est 'string.data()' et '& string [0]' pareil? – Freggar