এই প্রোগ্রামে আমরা দেখব কিভাবে C++ এ কমা-ডিলিমিটেড স্ট্রিং পার্স করা যায়। আমরা একটি স্ট্রিং রাখব যেখানে কিছু পাঠ্য রয়েছে এবং সেগুলি কমা দ্বারা সীমাবদ্ধ করা হয়েছে। এই প্রোগ্রামটি কার্যকর করার পরে, এটি সেই স্ট্রিংগুলিকে একটি ভেক্টর টাইপ অবজেক্টে বিভক্ত করবে।
তাদের বিভক্ত করতে আমরা getline() ফাংশন ব্যবহার করছি। এই ফাংশনের মৌলিক সিনট্যাক্স হল:
getline (input_stream, string, delim)
এই ফাংশনটি ইনপুট স্ট্রিম থেকে একটি স্ট্রিং বা একটি লাইন পড়তে ব্যবহৃত হয়৷
Input: Some strings "ABC,XYZ,Hello,World,25,C++" Output: Separated string ABC XYZ Hello World 25 C++
অ্যালগরিদম
Step 1: Create stream from given string Step 2: While the stream is not completed Step 2.1: Take item before comma Step 2.2: Add item into a vector Step 3: Return the vector
উদাহরণ কোড
#include<iostream>
#include<vector>
#include<sstream>
using namespace std;
main() {
string my_str = "ABC,XYZ,Hello,World,25,C++";
vector<string> result;
stringstream s_stream(my_str); //create string stream from the string
while(s_stream.good()) {
string substr;
getline(s_stream, substr, ','); //get first string delimited by comma
result.push_back(substr);
}
for(int i = 0; i<result.size(); i++) { //print all splitted strings
cout << result.at(i) << endl;
}
} আউটপুট
ABC XYZ Hello World 25 C++