1. ホーム
  2. c++

[解決済み] TCHAR配列をstd::stringに変換する方法は?

2022-02-19 17:29:30

質問

を変換するにはどうすればよいですか? TCHAR 配列から std::string (にはなりません。 std::basic_string )?

解決方法は?

TCHAR は単なる型定義で、コンパイルの設定によって、デフォルトは char または wchar_t .

標準テンプレートライブラリは、ASCII( std::string ) とワイド文字セット ( std::wstring ). 必要なのは typedef 文字列は、コンパイルの設定により、std::string または std::wstring のいずれかになります。柔軟性を保つために、以下のようなコードを使用することができます。

#ifndef UNICODE  
  typedef std::string String; 
#else
  typedef std::wstring String; 
#endif

これで String をコードに組み込むと、厄介な部分はコンパイラが処理してくれます。文字列にはコンストラクタが用意されており、このコンストラクタで TCHARstd::string または std::wstring .