C++ではstringをchar配列に変換するにはどうすればよいか
strcpy関数を使用して、文字列を文字配列に代入することができます。
例によってコード例を示します:
#include <iostream>
#include <cstring>
int main() {
std::string str = "Hello, World!";
char arr[20];
strcpy(arr, str.c_str());
std::cout << "arr: " << arr << std::endl;
return 0;
}
上記の例だと、まずstring変数strを定義し、”Hello, World!”という値を代入します。その後、20文字分の領域を持つchar配列arrを定義します。続いて、strcpy関数を使ってstringをchar配列に代入します。この場合、str.c_str()を使ってstringの文字配列表現を取得します。最後に、代入したchar配列arrを出力します。
strcpy関数を利用する際は、必ず目的のchar配列の長さが、元の文字列の文字を収容するのに十分なサイズであることを確認する必要があります。目的のchar配列の長さが不十分な場合、メモリオバーランが発生する可能性があります。