C++ में stringstream एक ऐसा क्लास है जो स्ट्रिंग ऑब्जेक्ट को स्ट्रीम की तरह ट्रीट करने की सुविधा देता है। इसका उपयोग करके हम किसी स्ट्रिंग से ठीक उसी तरह डेटा पढ़ सकते हैं जैसे हम cin से पढ़ते हैं। यह <sstream> हेडर फाइल में परिभाषित होता है।
Stringstream के मुख्य मेथड्स
- clear(): स्ट्रीम को क्लियर करने के लिए उपयोग होता है
- str(): स्ट्रीम में मौजूद स्ट्रिंग ऑब्जेक्ट को प्राप्त या सेट करने के लिए
- operator << : स्ट्रिंगस्ट्रीम में एक स्ट्रिंग जोड़ने के लिए
- operator >> : स्ट्रिंगस्ट्रीम ऑब्जेक्ट से डेटा पढ़ने के लिए
उदाहरण 1: स्ट्रिंग को शब्दों में विभाजित करना
#include <iostream>
#include <vector>
#include <string>
#include <sstream>
using namespace std;
int main() {
string str("Hello from the dark side");
string tmp; // प्रत्येक पुनरावृत्ति में शब्द स्टोर करने के लिए
stringstream str_strm(str);
vector<string> words; // शब्दों को रखने के लिए वेक्टर
while (str_strm >> tmp) {
// यहां tmp के लिए उचित जांच करें जैसे खाली है या नहीं
// साथ ही !, ., ? जैसे सिम्बल्स को हटाएं
// अंत में पुश करें
words.push_back(tmp);
}
for(int i = 0; i < words.size(); i++)
cout << words[i] << endl;
}
आउटपुट
Hello from the dark side
उदाहरण 2: दशमलव को हेक्साडेसिमल में बदलना
#include <iostream>
#include <sstream>
using namespace std;
int main() {
int decimal = 61;
stringstream my_ss;
my_ss << hex << decimal;
string res = my_ss.str();
cout << "The hexadecimal value of 61 is: " << res;
return 0;
}
आउटपुट
The hexadecimal value of 61 is: 3d
Stringstream C++ में स्ट्रिंग मैनिपुलेशन और फॉर्मेटिंग के लिए बहुत उपयोगी है। यह टाइप कन्वर्जन, पार्सिंग और स्ट्रिंग बिल्डिंग जैसे कार्यों को सरल बनाता है।