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

C++-এ std::string কে const char* বা char*-এ কনভার্ট করা: c_str() ফাংশন

এই বিভাগে দেখব কিভাবে C++ স্ট্রিং (std::string) কে const char* বা char*-এ কনভার্ট করা যায়। এই ফরম্যাটগুলো C-স্টাইল স্ট্রিং। এর জন্য c_str() নামে একটি ফাংশন রয়েছে। এটি আমাদের কাজটি করতে সাহায্য করে। এটি একটি পয়েন্টার রিটার্ন করে যা একটি অ্যারে নির্দেশ করে যাতে নাল-টার্মিনেটেড ক্যারেক্টার সিকোয়েন্স (অর্থাৎ একটি C-স্ট্রিং) থাকে যা স্ট্রিং অবজেক্টের বর্তমান মানকে রিপ্রেজেন্ট করে।

std::string::c_str এর ডিক্লেয়ারেশন:

const char* c_str() const;

এই ফাংশন একটি পয়েন্টার রিটার্ন করে যা একটি অ্যারে নির্দেশ করে যাতে নাল-টার্মিনেটেড ক্যারেক্টার সিকোয়েন্স (C-স্ট্রিং) থাকে। এক্সেপশন থ্রো হলে স্ট্রিং-এ কোনো পরিবর্তন হয় না।

উদাহরণ কোড

#include <iostream>
#include <cstring>
#include <string>

int main() {
    std::string str("Please divide this sentence into parts");
    char* cstr = new char[str.length() + 1];
    std::strcpy(cstr, str.c_str());
    char* p = std::strtok(cstr, " ");
    while (p != 0) {
        std::cout << p << '\n';
        p = std::strtok(NULL, " ");
    }
    delete[] cstr;
    return 0;
}

আউটপুট

Please
divide
this
sentence
into
parts
  1. C++-এ স্ট্রিংকে int-এ পার্স করা (String to Int)

  2. C++-এ int কে string-এ রূপান্তর (Integer to String)

  3. C++-এ CSV ফাইল পড়া এবং পার্স করা (Parse CSV Files)

  4. C#-এ লিস্টকে স্ট্রিং-এ কনভার্ট করা (string.Join)