読者です 読者をやめる 読者になる 読者になる

wide_snow’s blog

30代の組込みエンジニア(ファーマー)による技術メモの記録

スポンサードリンク

CString型 <-> char型 [MFC]

最近Windows用のアプリケーションを作成する機会が減ったので

たまに作成するときに忘れることの1つとして

「CString型からchar型にキャストする方法って何だっけ?」があります。

というのも、Visual Studio 2008またはVisual Studio 2010で

MFC (Microsoft Foundation Class) 形式でアプリケーションを

作ることが多いのですが、CString型で文字列を作ったあとで

char型にキャストしないといけないことが結構あるのです。

そのとき、いつも「どうやるんだっけ・・・?」と思ってしまうので

メモっておきます。

charからCStringに変換

void funcA( void )

{
    char        a_test[5] = "test";

    CString  a_str;

    a_str.Format( %s, a_test );

}

 

CStringからcharに変換

void funcB( void )

{
    CString    a_str = "test";

    char          *p;

    p = new char[a_str.GetLength()+1];

    strcpy( p, a_str );

    delete [] p;

}

単純にstrcpyで実現出来ますが

コピー先のバッファサイズに気をつけてください。