我對C++ STL非常陌生,所以這可能是微不足道的。我有一個ostream
變量,其中包含一些文本。將ostream轉換爲標準字符串
ostream* pout;
(*pout) << "Some Text";
有沒有辦法提取流並將其存儲在類型爲char*
的字符串中?
我對C++ STL非常陌生,所以這可能是微不足道的。我有一個ostream
變量,其中包含一些文本。將ostream轉換爲標準字符串
ostream* pout;
(*pout) << "Some Text";
有沒有辦法提取流並將其存儲在類型爲char*
的字符串中?
std::ostringstream stream;
stream << "Some Text";
std::string str = stream.str();
const char* chr = str.c_str();
我解釋一下這是怎麼回事在回答這個question,這是我寫的不是一小時前。
std::ostringstream os;
os<<"Hello world";
std::string s=os.str();
const char *p = s.c_str();
的問題是在ostream
串,不ostringstream
字符串。
對於那些有興趣在具有實際問題的回答(具體以ostream
),試試這個:
void someFunc(std::ostream out)
{
std::stringstream ss;
ss << out.rdbuf();
std::string myString = ss.str();
}
我會給你點熱點。好的..和正確的答案,嘿。 – moodboom 2013-11-22 18:16:13
這是正確的答案。上面的答案標記爲正確的,並不回答這個問題。 – 2014-06-19 20:48:50
我收到以下錯誤信息: 「結構的std :: basic_ostream <字符,的std :: char_traits>'沒有任何成員名爲'str' –
2010-08-18 14:44:25
包括必要的標題.'#包含'和'#包括' –
2010-08-18 14:46:05
它不是ostream。這是ostringstream – Vanuan 2012-03-13 14:22:39