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

C++-এ স্ট্রিংকে ক্যারেক্টার অ্যারে রূপান্তর: তিনটি পদ্ধতি

C++-এ std::string কে char অ্যারে (C-স্ট্রিং) রূপান্তর করার একাধিক পদ্ধতি রয়েছে। নিচে তিনটি পদ্ধতি দেওয়া হলো।

পদ্ধতি ১: ম্যানুয়াল কপি (লুপ ব্যবহার)

এলগরিদম

শুরু
  স্ট্রিং m-এ মান দিন
  i = 0 থেকে sizeof(m) পর্যন্ত
    char অ্যারেতে কপি করুন
  char অ্যারে প্রিন্ট করুন
শেষ

উদাহরণ কোড

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

int main() {
    char m[] = "Tutorialspoint";
    string str;
    int i;
    for (i = 0; i < sizeof(m); i++) {
        str[i] = m[i];
        cout << str[i];
    }
    return 0;
}

পদ্ধতি ২: strcpy() ফাংশন ব্যবহার

C-স্টাইল স্ট্রিং কপি করার জন্য strcpy() ব্যবহার করা যায়।

এলগরিদম

শুরু
  স্ট্রিং s-এ মান দিন
  strcpy() দিয়ে char অ্যারেতে কপি করুন
শেষ

উদাহরণ কোড

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

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

আউটপুট

Tutorialspoint

পদ্ধতি ৩: std::string::copy() ব্যবহার (C++11+)

strcpy() এড়াতে string::copy() মেম্বার ফাংশন ব্যবহার করা ভালো।

এলগরিদম

শুরু
  স্ট্রিং s-এ মান দিন
  copy() দিয়ে char অ্যারেতে কপি করুন
  নাল টার্মিনেটর যোগ করুন
শেষ

উদাহরণ কোড

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

int main() {
    string str = "Tutorialspoint";
    char c[str.size() + 1];
    str.copy(c, str.size() + 1);
    c[str.size()] = '\0';  // নাল টার্মিনেটর জরুরি
    cout << c << '\n';
    return 0;
}

আউটপুট

Tutorialspoint

সেরা প্র্যাকটিস: পদ্ধতি ৩ (string::copy()) ব্যবহার করুন কারণ এটি C++-ইডিওম্যাটিক, বাউন্ড চেকিং সহ এবং c_str()-এর মতো এক্সট্রা কপি এড়ায়। সবসময় নাল টার্মিনেটর '\0' ম্যানুয়ালি যোগ করুন।

  1. C++-এ strcat() এবং strncat() এর পার্থক্য

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

  3. PHP-এ অ্যারে থেকে স্ট্রিং কনভার্ট করা

  4. C#-এ ইন্টিজার অ্যারে থেকে স্ট্রিং অ্যারে কনভার্ট করা