MFCおさらい

すっかり浦島太郎・・

CString/intの変換を教えてください。
http://q.hatena.ne.jp/1177074643

CString -> intは、以下のいずれかが使えます。

scann = _ttoi(scanx); // tchar.h

scann = StrToInt(scanx); // shlwapi.h

int -> CStringはyu-kunさんの例示した、CString::Format()でできると思いますが、このメンバ関数は書式文字列としてPCXSTR型のものを受け取ることになっています。

 http://msdn2.microsoft.com/ja-jp/library/18he3sk6(VS.80).aspx

PCXSTR は「CStringT オブジェクトと同じ文字型の const 文字列 (wchar_t または char のいずれか) へのポインタ」とのことですので、CStringの場合は「TCHARへのポインタ」となり、最終的にはコンパイルオプションによって wchar_t/charのいずれかになります。

 http://msdn2.microsoft.com/ja-jp/library/5bzxfsea(VS.80).aspx

というわけで、ここではLPCTSTRとして書式文字列を渡せばコンパイルエラーがなくなるはずです。

scanx.Format(_T("%d"), scann); // TEXT("%d")でも可