注意VC++6.0的默认编译模型是ANSI/MBCS(即TCHAR
是a char
,CString
是char
's的序列等),而VC++2005的默认编译模型是Unicode(即TCHAR
is wchar_t
,CString
实际上是a CStringW
,ie一个wchar_t
字符串)。
我只是使用 Unicode 模型(不要打扰 ANSI/MBCS 兼容性和TCHAR
,_T("...")
等),然后像这样调整你的代码:
static const wchar_t microSign = 0x00B5;
CString s;
s.Format(L"%f\r\n",
static_cast<double>(timebTime.time) +
static_cast<double>(timebTime.millitm) / 1000.0);
s += L"RAMP,";
s += microSign;
s += L"m";
请注意,使用命名常量(如microSign
)使代码比“幻数” (如)更具可读性0x00B5
。
此外,我会将格式字符串(包括“ RAMP,µm
”部分)存储在应用程序资源中并从那里加载它,而不是在源代码中构建它。