C++プログラムでCスタイルの文字列(つまり char* )をC++スタイルの文字列(つまり std::string )に変換する方法を教えてください。
どうもありがとう。
std::string
コンストラクターのパラメーターchar *
として、およびいくつかの演算子を介して取ることができます。
char * mystr = "asdf";
std::string mycppstr(mystr);
または言語弁護士の場合
const char * mystr = "asdf";
std::string mycppstr(mystr);
char* cstr = //... some allocated C string
std::string str(cstr);
の内容cstr
が にコピーされstr
ます。
これは、次のような操作でも使用できます。
std::string concat = somestr + std::string(cstr);
somestr
既に `std::string` がある場所
を引数として取るstring
クラス コンストラクターを使用できます。char*
char *str = "some c style string";
string obj(str);
const std::string&
変換を行う別の方法は、パラメーターとして aを取る関数を呼び出すことです。
void foo(const std::string& str);
void bar()
{
char* str= ...
foo(str);
}
関数呼び出しの境界で変換を行う方がはるかにきれいだと思います。