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

C++-এ স্ট্রিংকে ক্যারেক্টার অ্যারেতে কনভার্ট করা (৩ পদ্ধতি)

পদ্ধতি ১: ম্যানুয়াল কপি (C-স্টাইল)

#include <iostream>
#include <cstring>
using namespace std;

int main() {
    char src[] = "Tutorialspoint";
    char dest[50];
    int i = 0;
    for (; src[i] != '\0'; i++)
        dest[i] = src[i];
    dest[i] = '\0'; // Null terminator
    cout << dest << "\n";
    return 0;
}

পদ্ধতি ২: `strcpy()` ব্যবহার করে

#include <iostream>
#include <cstring>
#include <string>
using namespace std;

int main() {
    string str = "Tutorialspoint";
    char dest[str.size() + 1];
    strcpy(dest, str.c_str());
    cout << dest << "\n";
    return 0;
}

পদ্ধতি ৩: `std::string::copy()` ব্যবহার করে (C++ স্টাইল)

#include <iostream>
#include <string>
using namespace std;

int main() {
    string str = "Tutorialspoint";
    char dest[str.size() + 1];
    str.copy(dest, str.size());
    dest[str.size()] = '\0'; // Manual null termination
    cout << dest << "\n";
    return 0;
}

আউটপুট (সব পদ্ধতির জন্য)

Tutorialspoint

তুলনা ও সুপারিশ

পদ্ধতিসুবিধাব্যবহার ক্ষেত্র
ম্যানুয়াল লুপনিম্নস্তরের কন্ট্রোল, কোনো লাইব্রেরি লাগে নাএমবেডেড, লার্নিং
`strcpy()`সিম্পল, C-কম্প্যাটিবললিগেসি কোড, C ইন্টারফেস
`string::copy()`C++ স্ট্যান্ডার্ড, এক্সসেপশন সেফমডার্ন C++ (সুপারিশ করা)

গুরুত্বপূর্ণ নোট

  • সবসময় ডেস্টিনেশন বাফারের সাইজ `str.size() + 1` রাখুন (null terminator-এর জন্য)।
  • `c_str()` null-terminated স্ট্রিং রিটার্ন করে, `data()` (C++11+) নাল-টার্মিনেটেড নাও হতে পারে।
  • বফার ওভারফ্লো এড়াতে `strncpy` বা `copy` এর লেন্থ প্যারামিটার ব্যবহার করুন।
  1. C#-তে বাইট অ্যারে থেকে স্ট্রিং কনভার্ট কীভাবে করবেন?

  2. C#-এ Hex স্ট্রিংকে Hex নম্বরে রূপান্তর করা

  3. C#-এ স্ট্রিংকে ইন্টিজার (int) এ রূপান্তর করা

  4. C#-এ ক্যারেক্টার অ্যারেকে স্ট্রিং-এ রূপান্তর করা