C++で文字列を文字配列に変換する方法


C++で文字列を文字配列に変換する方法はいくつかあります。以下にいくつかの方法を示します。

方法1: strcpy関数を使用する方法

#include <cstring>
#include <iostream>
int main() {
    std::string str = "Hello";
    char charArray[6]; // 文字列の長さ+1のサイズの配列を用意する
    strcpy(charArray, str.c_str());
    std::cout << charArray << std::endl;
    return 0;
}

方法2: ループを使用して1文字ずつコピーする方法

#include <iostream>
int main() {
    std::string str = "Hello";
    char charArray[str.length() + 1]; // 文字列の長さ+1のサイズの配列を用意する
    for (int i = 0; i < str.length(); i++) {
        charArray[i] = str[i];
    }
    charArray[str.length()] = '\0'; // 文字列の終端にヌル文字を追加する
    std::cout << charArray << std::endl;
    return 0;
}

方法3: copy関数を使用する方法

#include <algorithm>
#include <iostream>
int main() {
    std::string str = "Hello";
    char charArray[str.length() + 1]; // 文字列の長さ+1のサイズの配列を用意する
    std::copy(str.begin(), str.end(), charArray);
    charArray[str.length()] = '\0'; // 文字列の終端にヌル文字を追加する
    std::cout << charArray << std::endl;
    return 0;
}

これらの方法は、C++で文字列を文字配列に変換するための一般的な方法です。選択する方法は、特定の要件や好みによって異なる場合があります。