কম্পিউটার টিউটোরিয়াল

C++-এ কমা-ডিলিমিটেড std::string পার্স করা

এই প্রোগ্রামে আমরা দেখব কীভাবে C++-এ কমা-ডিলিমিটেড স্ট্রিং পার্স করা যায়। আমরা একটি স্ট্রিং রাখব যেখানে কিছু টেক্সট থাকে, এবং সেগুলো কমা দিয়ে ডিলিমিটেড। এই প্রোগ্রাম এক্সিকিউট করার পর, সেগুলো ভেক্টর টাইপ অবজেক্টে স্প্লিট হয়ে যাবে।

সেগুলো স্প্লিট করার জন্য আমরা getline() ফাংশন ব্যবহার করছি। এই ফাংশনের বেসিক সিনট্যাক্স হলো:

getline (input_stream, string, delim)

এই ফাংশনটি ইনপুট স্ট্রিম থেকে একটি স্ট্রিং বা লাইন পড়তে ব্যবহৃত হয়।

ইনপুট: কিছু স্ট্রিং "ABC,XYZ,Hello,World,25,C++"
আউটপুট: আলাদা করা স্ট্রিং ABC XYZ Hello World 25 C++

অ্যালগরিদম

স্টেপ ১: দিয়ে गये স্ট্রিং থেকে স্ট্রিম তৈরি করুন
স্টেপ ২: যতক্ষণ স্ট্রিম সম্পূর্ণ নয়:
  স্টেপ ২.১: কমার আগের আইটেম নিন
  স্টেপ ২.২: আইটেমটি ভেক্টরে যোগ করুন
স্টেপ ৩: ভেক্টর রিটার্ন করুন

উদাহরণ কোড

#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); // স্ট্রিং থেকে স্ট্রিং স্ট্রিম তৈরি
    while(s_stream.good()) {
        string substr;
        getline(s_stream, substr, ','); // কমা দিয়ে ডিলিমিটেড প্রথম স্ট্রিং নিন
        result.push_back(substr);
    }
    for(int i = 0; i < result.size(); i++) {
        cout << result.at(i) << endl;
    }
}

আউটপুট

ABC
XYZ
Hello
World
25
C++
  1. C++-এ std::string এবং int ক্যাটেনেট করা

  2. C++-এ একক ক্যারেক্টারকে স্ট্রিং-এ কনভার্ট করা

  3. C++-এ std::string কে const char* বা char*-এ রূপান্তর

  4. C++-এ স্ট্রিং টোকেনাইজ (Tokenize) করা