J'ai un J'ai essayé: p> ... mais il semble ne rien mettre dans pourquoi écrire ne fonctionne pas (l'application ne se bloque pas et compile avec 0 erreurs, 0 avertissements) ? p> p> vecteur std :: stringstream code>. my_ss code> que j'ai déclaré comme suit: p> < p> std :: stringstream my_ss (std :: stringstream :: binaire); code> p>
3 Réponses :
pour le "Comment dois-je le faire" que vous pouvez utiliser un Exemple complet: P> std :: ostream_itéator code>: std::string str(vector.begin(), vector.end()); // skip all of the copy and stringstream
Cette réponse peut donner une mauvaise idée comme si stringstream :: écrire () code> ne peut pas être utilisé. En effet, le problème de l'OP semble ne pas être avec stringstream :: écrire () code>, mais avec std :: stringstream my_ss (std :: stringstream :: binaire); code>, lequel Peut être réparé à std :: stringstream my_ss (std :: stringstream :: out | std :: stringstream :: binaire); code> comme les autres réponses suggèrent.
Bien que vous n'aviez pas donné de code, cela sonne comme si vous venez probablement d'écrire:
std::stringstream my_ss (std::stringstream::out | std::stringstream::binary);
Le paramètre par défaut pour le mode de StringBuf dans StringStream est sorti | In.
explicit basic_stringstream(ios_base::openmode _Mode =
ios_base::in | ios_base::out)
: _Mybase(&_Stringbuffer),
_Stringbuffer(_Mode)
{ // construct empty character buffer
}
Montrez-nous du code réel. (Et
std :: basic_ios :: binaire code> n'a aucun effet sur unstringstream code>. Ils sont toujours "binaires".)