पार्सिंग के लिए स्ट्रिंग स्ट्रीम stringstream
पाठ को टोकन में बाँटने और टाइप वाले मानों में पार्स करने के लिए std::stringstream का उपयोग करें।
पार्सिंग के लिए स्ट्रिंग स्ट्रीम stringstream, CoddyKit पर C++ Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह C++ Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। C++ Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
stringstream क्या है
std::stringstream एक स्ट्रिंग को iostream इंटरफ़ेस में लपेटता है। इसे cin या cout की तरह >> और << से पढ़ें और लिखें।
#include <sstream>
std::stringstream ss;stringstream से स्ट्रिंग बनाना
मिश्रित प्रकारों से जटिल स्ट्रिंग बनाने के लिए इसका उपयोग करें। परिणाम प्राप्त करने के लिए .str() कॉल करें।
std::stringstream out;
out << "User: " << name << ", Age: " << age;
std::string result = out.str();stringstream से विश्लेषण
किसी स्ट्रिंग से इसे आरंभ करें और >> से मान निकालें। यह व्हाइटस्पेस के आधार पर टोकन बनाता है।
std::stringstream in("42 3.14 hello");
int i; double d; std::string s;
in >> i >> d >> s;एक पंक्ति को टोकन में पढ़ना
एक समय में एक पंक्ति को टोकन में बाँटने के लिए getline को stringstream के साथ मिलाएँ।
std::string line = "1 2 3 4 5";
std::stringstream ss(line);
int n;
while (ss >> n) {
std::cout << n * n << " ";
}
// 1 4 9 16 25विभाजक के आधार पर बाँटना
अल्पविराम, अर्धविराम या किसी भी वर्ण के आधार पर बाँटने के लिए stringstream पर getline को विभाजक दें।
std::string csv = "apple,banana,cherry";
std::stringstream ss(csv);
std::string fruit;
while (std::getline(ss, fruit, ',')) {
std::cout << fruit << "\n";
}istringstream और ostringstream
तीन प्रकार उपलब्ध हैं:
std::istringstream— केवल पढ़नाstd::ostringstream— केवल लिखनाstd::stringstream— पढ़ना और लिखना दोनों
स्पष्टता के लिए सबसे सीमित प्रकार का उपयोग करें।
विश्लेषण की त्रुटियाँ जाँचना
यदि निष्कर्षण विफल हो जाता है, जैसे गलत प्रकार मिलने पर, तो स्ट्रीम एक fail बिट सेट करती है। निष्कर्षण के बाद !ss या ss.fail() जाँचें।
std::stringstream ss("not_a_number");
int x;
if (!(ss >> x)) {
std::cout << "Parse failed";
}stringstream को रीसेट करना
stringstream का दोबारा उपयोग करने के लिए उसकी स्थिति और सामग्री दोनों साफ़ करें।
std::stringstream ss;
ss << "first";
ss.str(""); // clear contents
ss.clear(); // clear flags
ss << "second";संख्या से स्ट्रिंग
सरल रूपांतरणों के लिए std::to_string, stringstream की तुलना में छोटा विकल्प है।
std::string s = std::to_string(42); // "42"
std::string p = std::to_string(3.14); // "3.140000"स्ट्रीम के बिना स्ट्रिंग से संख्या
std::stoi, std::stod, std::stoll स्ट्रिंग से संख्याओं का विश्लेषण करते हैं और गलत इनपुट मिलने पर अपवाद उत्पन्न करते हैं।
int n = std::stoi("42");
double d = std::stod("3.14");
// std::stoi("xyz") throws std::invalid_argumentC++17 का std::from_chars
अधिकतम गति के लिए, <charconv> में मौजूद std::from_chars अपवाद या मेमोरी आवंटन के बिना विश्लेषण करता है। प्रदर्शन-संवेदनशील पथों के लिए यह आदर्श है।
त्वरित जाँच
std::stringstream का उपयोग करने के लिए आपको कौन-सी हेडर फ़ाइल शामिल करनी होगी?
पुनरावृत्ति
std::stringstream आसान विश्लेषण और फ़ॉर्मैटिंग के लिए स्ट्रिंग को स्ट्रीम में बदलता है। विभाजकों के आधार पर बाँटने के लिए इसे std::getline के साथ मिलाएँ। सरल मामलों में std::to_string और std::stoi को प्राथमिकता दें।
एआई शिक्षक के साथ C++ सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 51
- पाठ
- 203
अक्सर पूछे जाने वाले प्रश्न
क्या “पार्सिंग के लिए स्ट्रिंग स्ट्रीम stringstream” पाठ निःशुल्क है?
हाँ — C++ Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “पार्सिंग के लिए स्ट्रिंग स्ट्रीम stringstream” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। C++ Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“पार्सिंग के लिए स्ट्रिंग स्ट्रीम stringstream” में मैं क्या सीखूँगा?
पाठ को टोकन में बाँटने और टाइप वाले मानों में पार्स करने के लिए std::stringstream का उपयोग करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ C++ Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या C++ Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर C++ Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“पार्सिंग के लिए स्ट्रिंग स्ट्रीम stringstream” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस C++ Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर C++ Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- std::string बनाम C-शैली के कैरेक्टर ऐरे
- स्ट्रिंग क्रियाएँ: जोड़ना, खंड, खोजना, बदलना
- पार्सिंग के लिए स्ट्रिंग स्ट्रीम stringstream
- स्ट्रिंग रूपांतरण: to_string और stoi