C/C++ स्ट्रिंग के शब्दों को इटरेट करने का कोई एक सुंदर तरीका नहीं है। सबसे पठनीय तरीके को कुछ लोगों के लिए सबसे सुंदर कहा जा सकता है जबकि अन्य के लिए सबसे प्रदर्शनकारी। मैंने 2 विधियां सूचीबद्ध की हैं जिनका उपयोग आप इसे प्राप्त करने के लिए कर सकते हैं। पहला तरीका शब्दों को स्पेस से अलग करके पढ़ने के लिए stringstream का उपयोग करना है। यह थोड़ा सीमित है लेकिन यदि आप उचित जांच प्रदान करते हैं तो यह कार्य काफी अच्छी तरह से करता है। उदाहरण के लिए,
उदाहरण कोड
#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
आउटपुट
Hello
from
the
dark
side