String ইন্টারঅ্যাকশন এবং স্ট্রিং স্ট্রিম ব্যবহার

String Handling (স্ট্রিং ম্যানিপুলেশন) - সি++ স্ট্যান্ডার্ড লাইব্রেরি (C++ Standard Library) - Computer Programming

346

C++-এ স্ট্রিং ইন্টারঅ্যাকশন এবং স্ট্রিং স্ট্রিম ব্যবহারের মাধ্যমে টেক্সট ম্যানিপুলেশন এবং ফাইল/ইনপুট/আউটপুট অপারেশনগুলো সহজে করা যায়। স্ট্রিং ক্লাস এবং স্ট্রিং স্ট্রিমের সাহায্যে আপনি স্ট্রিংগুলোতে বিভিন্ন কার্যকরী পরিবর্তন করতে পারেন এবং সহজেই ডেটা এক্সচেঞ্জ করতে পারেন। নিচে বিস্তারিতভাবে আলোচনা করা হলো:


১. স্ট্রিং ইন্টারঅ্যাকশন (String Interaction)

C++-এ স্ট্রিং ইন্টারঅ্যাকশন হল বিভিন্ন স্ট্রিং অপারেশন, যেমন স্ট্রিং যোগ করা, তুলনা করা, এবং কিছু অংশ কেটে নেওয়া। সি++ এর std::string ক্লাসের মাধ্যমে সহজেই স্ট্রিং এর বিভিন্ন ম্যানিপুলেশন করা সম্ভব।

কিছু সাধারণ স্ট্রিং ইন্টারঅ্যাকশন:

  • স্ট্রিং যোগ করা: দুটি স্ট্রিং একত্রিত করা।
  • স্ট্রিং তুলনা: দুটি স্ট্রিংয়ের সমতা চেক করা।
  • স্ট্রিং কাটা: একটি স্ট্রিং থেকে অংশ আলাদা করা।
  • স্ট্রিং সাইজ: স্ট্রিং এর দৈর্ঘ্য বা সাইজ নির্ধারণ করা।

উদাহরণ:

#include <iostream>
#include <string>

int main() {
    // স্ট্রিং তৈরি
    std::string str1 = "Hello";
    std::string str2 = " World!";
    
    // স্ট্রিং যোগ করা
    std::string result = str1 + str2;
    std::cout << "Concatenated string: " << result << std::endl;
    
    // স্ট্রিং তুলনা
    if (str1 == "Hello") {
        std::cout << "str1 is equal to 'Hello'" << std::endl;
    }

    // স্ট্রিং কাটা
    std::string substring = result.substr(0, 5);  // প্রথম 5টি চরিত্র কাটা
    std::cout << "Substring: " << substring << std::endl;

    // স্ট্রিং সাইজ
    std::cout << "Length of result: " << result.size() << std::endl;

    return 0;
}

আউটপুট:

Concatenated string: Hello World!
str1 is equal to 'Hello'
Substring: Hello
Length of result: 13

২. স্ট্রিং স্ট্রিম (String Stream)

স্ট্রিং স্ট্রিম C++-এ একটি গুরুত্বপূর্ণ ফিচার, যা std::stringstream ক্লাসের মাধ্যমে বাস্তবায়িত হয়। এটি ইনপুট এবং আউটপুট স্ট্রিমের মতো কাজ করে, তবে এটি স্ট্রিং এর মাধ্যমে ডেটা এক্সচেঞ্জ করে। std::stringstream ব্যবহার করে আপনি সহজেই স্ট্রিং থেকে ডেটা পড়তে এবং স্ট্রিংয়ে ডেটা লেখতে পারেন।

std::stringstream ক্লাসটি std::istringstream (ইনপুট) এবং std::ostringstream (আউটপুট) হিসেবে দুটি আলাদা ক্লাসে বিভক্ত।

সাধারণ ব্যবহার:

  • স্ট্রিং থেকে ইনপুট: std::istringstream ব্যবহার করে স্ট্রিং থেকে ডেটা পড়া।
  • স্ট্রিংয়ে আউটপুট: std::ostringstream ব্যবহার করে স্ট্রিংয়ে ডেটা লেখা।
  • স্ট্রিং স্ট্রিম: std::stringstream ব্যবহার করে উভয় অপারেশন করা।

উদাহরণ:

#include <iostream>
#include <sstream>
#include <string>

int main() {
    // স্ট্রিং স্ট্রিম তৈরি
    std::string data = "123 456 789";
    
    // ইনপুট স্ট্রিম
    std::istringstream inputStream(data);
    int num1, num2, num3;
    
    // স্ট্রিং থেকে ডেটা পড়া
    inputStream >> num1 >> num2 >> num3;
    std::cout << "Read values: " << num1 << " " << num2 << " " << num3 << std::endl;
    
    // আউটপুট স্ট্রিম
    std::ostringstream outputStream;
    outputStream << "The numbers are: " << num1 << ", " << num2 << ", " << num3;
    std::cout << "Formatted output: " << outputStream.str() << std::endl;

    // স্ট্রিং স্ট্রিম (input + output)
    std::stringstream ss;
    ss << "The total is " << (num1 + num2 + num3);
    std::cout << "Total message: " << ss.str() << std::endl;

    return 0;
}

আউটপুট:

Read values: 123 456 789
Formatted output: The numbers are: 123, 456, 789
Total message: The total is 1368

স্ট্রিং স্ট্রিমের বিভিন্ন সুবিধা:

  1. ডেটা পার্সিং (Data Parsing): স্ট্রিং থেকে সহজে ডেটা পড়ে বিভিন্ন ধরনের ভেরিয়েবলে রূপান্তর করা যায় (যেমন, ইন্টেজার, ডাবল ইত্যাদি)।
  2. স্ট্রিংয়ের মধ্যে ইনপুট/আউটপুট অপারেশন: স্ট্রিং স্ট্রিম ব্যবহার করে ইনপুট এবং আউটপুট একসাথে করা যায়, যা কোডকে আরও পরিষ্কার এবং কার্যকর করে তোলে।
  3. ডেটা ফরম্যাটিং: আপনি ostringstream ব্যবহার করে স্ট্রিং ফরম্যাট করতে পারেন, যেমন সংখ্যা এবং টেক্সট একত্রিত করা।

উপসংহার

C++-এ স্ট্রিং ইন্টারঅ্যাকশন এবং স্ট্রিং স্ট্রিম ব্যবহার করার মাধ্যমে স্ট্রিং ম্যানিপুলেশন এবং ডেটা এক্সচেঞ্জের কাজ সহজ করা যায়। std::string ক্লাস স্ট্রিং ম্যানিপুলেশনের জন্য একটি শক্তিশালী টুল, এবং std::stringstream স্ট্রিং থেকে ইনপুট এবং স্ট্রিংয়ে আউটপুট করার জন্য একাধিক সুবিধা প্রদান করে। এগুলো দিয়ে আপনি আরো কার্যকরী ও পরিষ্কার কোড লিখতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...