तो istringstream
प्रतियां एक स्ट्रिंग की सामग्री को जब initialised, उदागैर कॉपी करने istringstream
string moo("one two three four");
istringstream iss(moo.c_str());
वहाँ std::istringstream
चीजों को कॉपी किए बिना दिया c_str
अपने बफर के रूप में उपयोग करने के लिए एक तरीका है मैं सोच रहा था। इस तरह, std::istringstream&
को istream&
को तर्क के रूप में लेने वाले कार्यों के लिए पास करने से पहले इसे स्मृति की बड़ी बिट कॉपी करने की आवश्यकता नहीं होगी।
जो कुछ मैं करने की कोशिश कर रहा हूं वह कुछ कार्यों को परिवर्तित करता है जो istream&
लेने में केवल std::ifstream&
तर्क (वे अधिकतर पार्सर्स) लेते हैं। क्या मुझे इसके लिए अपना खुद का istream
सबक्लास बनाना होगा?
देखें [यह उत्तर] (http: // stackoverflow।कॉम/प्रश्न/2786816/कैसे-से-create-c-istringstream-from-a-char-array-with-null0-characters/2786872 # 2786872) ऐसा करने के लिए (मूल रूप से @ चार्ल्स के समाधान के समान, लेकिन लपेटना सुविधा के लिए इसके आसपास एक 'istream')। –