IT技術サポート総合サイト
 
 言語:  VC++/MFC   PHP/Perl   VB/VBA   ASP/ASP.net   HTML/CSS   基本知識:  Windows   Linux   ネットワーク   MySQL   レンタルサーバ   SEO対策
キーワード: RSS2.0配信
 
 
コラム集:Visual Studio Tips
←前コラム    目次    次コラム→    
 
引数を 'CString' から 'LPCSTR' に変換できません
分類:VC++/MFC     著者:C15年     更新日付:2012/05/03
 
 
VC6から2005、2008などへ移行する時、しばしば「引数を 'CString' から 'LPCSTR' に変換できません」っていうエラーメッセージが出る。

それは、文字セットがマルチバイトではなくUNICODEに設定したとき出るエラーです。

CStringからchar*、あるいは、LPCSTRへ変換する方法は以下のように。

方法
変換用のマクロを使えばいい。


CString str=_T("テスト");
char temp1[200];
strcpy_s(temp1, CT2CA(str));


説明
変換元・先の指定(Cx2Cy)はA/W/Tの3種類(OLEはWと同じ)で、Tに該当するのはCStringのほかTCHAR(の配列・ポインタ)/LPTSTR/LPCTSTRなどです。



 
 
←前コラム    目次    次コラム→