「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > C ++ std :: stringをchar*またはchar []に変換するにはどうすればよいですか?

C ++ std :: stringをchar*またはchar []に変換するにはどうすればよいですか?

2025-03-23に投稿されました
ブラウズ:395

How Do I Convert a C   std::string to a char* or char[]?

std :: stringをchar*またはchar* or &&&]

string

string to char charコンバージョン。 方法1:c_str()

を使用して std :: string

のcストリングバージョンを取得し、

c_str()メソッドを使用します。このメソッドは、 const char を返します。非const char の場合、。data() std :: string str = "string";を使用します。 const char *cstr = str.c_str(); // const char* char *cstr = str.data(); // non-const char*

std::string str = "string";
const char *cstr = str.c_str(); // const char*
char *cstr = str.data(); // non-const char*

コピーstr.c_str()str.size()1); char *ptr = cstr.data(); // c-stringへのポインター

方法3:手動配列割り当て(推奨) c-stringの配列を手動で割り当てる:

const char *cstr = new char [str.sizize()1]; std :: strcpy(cstr、str.c_str()); // ...配列を使用してください... 削除[] cstr;
std::vector cstr(str.c_str(), str.c_str()   str.size()   1);
char *ptr = cstr.data(); // pointer to c-string
マニュアルメモリ管理がエラーにつながる可能性があることを覚えておくことが重要です。ベストプラクティスとして、

。c_str()または。data()

を使用することを好みます。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3