2010-08-18 12 views
49

मैं सी ++ एसटीएल के लिए बहुत नया हूं, इसलिए यह मामूली हो सकता है। मेरे पास ostream वैरिएबल है जिसमें कुछ टेक्स्ट हैं।ओस्ट्रीम को मानक स्ट्रिंग में परिवर्तित करना

ostream* pout; 
(*pout) << "Some Text"; 

वहाँ धारा निकालने और प्रकार char* की एक स्ट्रिंग में संग्रहीत करने के लिए एक तरीका है?

उत्तर

47
 std::ostringstream stream; 
    stream << "Some Text"; 
    std::string str = stream.str(); 
    const char* chr = str.c_str(); 

और मैं समझाने क्या इस question, जो मैं एक घंटे पहले नहीं लिखा था के जवाब में चल रहा है।

+0

मैं निम्न त्रुटि संदेश मिलता है: 'struct std :: basic_ostream <चार, std :: char_traits > 'के पास कोई सदस्य नहीं है' str ' –

+7

आवश्यक शीर्षलेख शामिल करें। # # 'और' # शामिल करें ' –

+8

यह ओस्ट्रीम नहीं है। यह ostringstream – Vanuan

116

प्रश्न स्ट्रिंग के लिए ostream पर था, नहीं स्ट्रिंग के लिए ostringstream की कोशिश करो।

वास्तविक प्रश्न होने में रुचि रखने वालों के लिए जवाब (ostream के लिए विशिष्ट), इस प्रयास करें:

void someFunc(std::ostream out) 
{ 
    std::stringstream ss; 
    ss << out.rdbuf(); 
    std::string myString = ss.str(); 
} 
+2

मैं आपको हॉटहेड होने के लिए अंक दूंगा। ठीक है .. और सही जवाब के लिए, हे। – moodboom

+18

यह सही उत्तर है। उपर्युक्त उत्तर, सही के रूप में चिह्नित, प्रश्न का उत्तर नहीं देता है। –

संबंधित मुद्दे

 संबंधित मुद्दे