HAMLOG開発室は、HAMLOGに関連したプログラム開発(C、パスカル、VB言語等、又はDLL)についての
専用BBSです。プログラム言語に関する投稿以外は通常のHAMLOG相談室に投稿して下さい。
HAMLOG開発室BBS

Re: VC++ Run-Time Check Failure #0 投稿者:JO1SIM・出島

銅子OM
でしまです。

CStringはLPCTSTRへのキャストが利きますので(一部冗長ですが)、

WideCharToMultiByte(CP_ACP, 0, CString(_T("なにがし")), -1,buf, sizeof(buff), NULL, NULL);

といった感じで1発変換可能ですよ。


> > CSTRINGとの変換ですが、
> >
> > WideCharToMultiByte/MultiByteToWideCharで変換すればよいと思いますが、検索結果をSJISのまま直接ファイルに吐き出したり、GDI等で画面に描画をするような場合ならば、邪道ですが、Wideにわざわざ変換せず、ANSIのAPIを直接呼び出してしまうような手もあると思います。
> >
> 一発で CString から char[] に変換方法ありますか。
>
> TCHAR sBuf[256];
>
> char buf[512];
>
> int wLen;
>
>
> wLen = wsprintf(sBuf, TEXT("%ls"), *b);
>
> wLen = WideCharToMultiByte(CP_ACP, 0, sBuf, -1, buf, (sizeof buf) - 1, NULL, NULL);
>
> return THW_seek(a, buf, c);
> の様に CString を TCHAR さらにchar[]の2段階でやむなくやっています。逆も同じく
> char[] を TCHAR  TCHARからCStringは = の代入で変換していますがやはり2段階でやっています。いい方法があるなら教えてください。

2014/10/04(Sat) 23:12:19  [No.592]


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)
- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)
Call 名前 ※必須
文字色
Eメール
タイトル sage
URL
メッセージ 手動改行 強制改行 図表モード
メッセージには上記と同じURLを書き込まないで下さい
画像File  (130kBまで)
暗証キー (英数字で8文字以内)
投稿キー (投稿時 投稿キー を入力してください)
プレビュー