सेट नहीं कर रहा है, मैं विधि पबेटबफ का उपयोग करके स्ट्रिंग की प्रतिलिपि किए बिना स्ट्रिंगस्ट्रीम ऑब्जेक्ट के स्ट्रिंगबफर को संशोधित करने का प्रयास कर रहा हूं, लेकिन यह काम नहीं कर रहा है। मैं http://www.cplusplus.com/reference/iostream/streambuf/pubsetbuf/ में प्रलेखन का पालन कर रहा हूं। यहाँ मेरी उदाहरण कोड है:स्ट्रिंगस्ट्रीम-> rdbuf() -> पबेटबफ बफर
#include <iostream>
#include <sstream>
int main(int argc, char* argv[])
{
std::stringstream stream("You say goodbye");
char replace[] = {"And I say hello"};
std::cout << stream.str() << std::endl; // Checking original contents
stream.rdbuf()->pubsetbuf(replace, 16); // Should set contents here
std::cout << stream.str() << std::endl; // But don't :(
return 0;
}
और उत्पादन होता है:
You say goodbye
You say goodbye
मैं जानता हूँ कि मैं stream.str (की जगह) का उपयोग कर सकते हैं, लेकिन इस विधि प्रतियां 'की जगह ले' का मान, और मैं एक प्रतिलिपि बनाना नहीं चाहते हैं।
मुझे क्या याद आ रही है?
अद्यतन: मैं उपयोग कर रहा हूँ VS2010
एसओ की बस एक हास्यास्पद त्वरित खोज डिफ़ॉल्ट का उपयोग करता है? http://stackoverflow.com/questions/1494182/setting-the-internal-buffer-used-by-a- मानक- स्ट्रीम-pubsetbuf –
यदि आप वीएस का उपयोग कर रहे हैं, तो [इस सवाल] पर एक नज़र डालें (http://stackoverflow.com/q/10054396/416627) (और उत्तर)। ऐसा लगता है कि ऐसा नहीं लगता है कि यह करता है। यह कार्यान्वयन परिभाषित किया गया है और केवल लागू किया गया है जहां यह समझ में आता है। –
संभावित डुप्लिकेट [मानक स्ट्रीम (पबेटबफ) द्वारा उपयोग किए जाने वाले आंतरिक बफर को सेट करना] (http://stackoverflow.com/questions/1494182/setting-the-internal-buffer-used-by-a- मानक- स्ट्रीम-pubsetbuf) –