VC 2005で、CStringを文字化けせずにファイルに保存する方法
昨日はこれに3時間悩んだ。
VC6.0の時は、
CString ss;
ss.Format("%d", a);
をstrcpyとかしてから直接書き込みできていたのに、
VC2005では、以下のようにする必要があった。
CString ss; int a=10; ss.Format(_T("データ[%d]\r\nabc\0"),a); char sjis[256]; WideCharToMultiByte(932,0,ss,-1,sjis,sizeof(sjis),NULL,NULL); f.Write(sjis, ss.StringLength(sjis)); f.Flush();
あ、fの正体は CFile です。
最後のデストラクタあたりに f.close();を忘れずに。
ちなみに私はVC6.0の時はMFCはまったく使えなかったが[でもCStringだけこっそり]、
VC2005はMFCを使うようになった。
なんでだろう。
しかし、もっといい方法はないものか・・・。