CString の使用

このセクションのトピックでは、CString を使用したプログラミング方法について説明します。 CString クラスのリファレンス ドキュメントについては、CStringT のドキュメントを参照してください。

CString を使用するには、atlstr.h ヘッダーをインクルードします。

CStringCStringA、および CStringW クラスは、CStringT と呼ばれるクラス テンプレートを、それぞれがサポートしている文字データ型に基づいて特化させたものです。

CStringW オブジェクトには wchar_t 型が格納され、Unicode 文字列がサポートされます。 CStringA オブジェクトには char 型が格納され、1 バイト文字列とマルチバイト (MBCS) 文字列がサポートされます。 CString オブジェクトでは、コンパイル時に MBCS シンボルと UNICODE シンボルのどちらが定義されているかに従って、char 型または wchar_t 型のいずれかがサポートされます。

CString オブジェクトは、CStringData オブジェクトの文字データを保持します。 CString は null で終わる C スタイルの文字列を受け入れますが、格納されている文字データでは null 文字は保持されません。 代わりに、CString は文字列の長さを追跡します。 CString は、C スタイルの文字列をエクスポートするときに null 終端文字を付与します。 CString に null を挿入できますが、予期しない結果になる場合があります。

文字列クラス CAtlStringCAtlStringA、および CAtlStringW は、CRT サポートがある場合もない場合も、MFC ライブラリにリンクせずに使用できます。

CString は、ネイティブ プロジェクトで使用されます。 マネージ コード (C++/CLI) プロジェクトの場合は、System::String を使用します。

CStringCStringA、または CStringW で現在提供されているよりも多くの機能を追加するには、追加機能を含む CStringT のサブクラスを作成する必要があります。

次のコードは、CString を作成して標準出力に表示する方法を示しています。

#include <atlstr.h>

int main() {
    CString aCString = CString(_T("A string"));
    _tprintf(_T("%s"), (LPCTSTR) aCString);
}

このセクションの内容

関連項目

  • CStringT
    CStringT クラスに関するリファレンス情報を提供します。

  • CSimpleStringT クラス
    CSimpleStringT クラスに関するリファレンス情報を提供します。

関連項目

文字列 (ATL/MFC)