Je suis très nouveau dans la C++ STL, donc cela peut être trivial. J'ai une variable ostream
contenant du texte.
ostream* pout;
(*pout) << "Some Text";
Existe-t-il un moyen d'extraire le flux et de le stocker dans une chaîne de type char*
?
std::ostringstream stream;
stream << "Some Text";
std::string str = stream.str();
const char* chr = str.c_str();
Et j'explique ce qui se passe dans la réponse à cette question , que j'ai écrite il n'y a pas une heure.
La question était sur ostream
à la chaîne, pasostringstream
à la chaîne.
Pour ceux qui souhaitent obtenir la réponse à la question (spécifique à ostream
), essayez ceci:
void someFunc(std::ostream out)
{
std::stringstream ss;
ss << out.rdbuf();
std::string myString = ss.str();
}
Essayez std::ostringstream
std::ostringstream os;
os<<"Hello world";
std::string s=os.str();
const char *p = s.c_str();