single.php

std::stringとCStringの変換

VC++(C++)を使っていく以上、避けて通れない文字列変換。とにかく型やクラスがが多すぎてキャストだけでは無理な場合が多い。今回は、CStringクラスとstd::stringでハマったので備忘録に投稿します。

std::stringからCStringへの変換

C++標準文字列クラスであるstd::stringからVC++のMFC文字列処理用クラスCStringへ変換する場合には、次のように行えます。

std:string sString = "文字列";
CString cString = sString.c_str();

CStringからstd::stringへの変換

VC++のMFC文字列処理用クラスCStringからC++標準文字列クラスであるstd::stringへ変換する場合には、次のように行えます。

CString cString = "文字列";
std::string sString = static_cast(cString);

まとめ

C++の標準文字列クラス[std::string]とVC++のMFCの文字列処理用クラス[CString]をそれぞれ、変換するための処理を紹介しました。

MFCを使ったアプリケーションに、標準クラスを使ったライブラリを使う場合など、利用する文字列を扱うクラスがバラバラだと、変数の操作が面倒な場合があるので、どちらかに統一しておくとプログラムを進める中で便利になることが多いです。

VC++で文字列クラスを変更する際に困っている人の参考になれば幸いです。

スポンサーリンク

サイトまでご覧いただき、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です