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 un
stringstream code>. Ils sont toujours "binaires".)