ybcad 发表于 2007-7-20 14:07:25

c++Test 处理wchar_t 和宽字符(中文)的问题,请高手出招!

我的t1.cpp文件代码内容:
#include <wchar.h>
void fun1()
{
wchar_t *pt = L"你"; // a chinese characters 你
// do nothing
}
int main()
{

fun1();
return 0;
}
用C++Test测试,报如下错误
Compiling E:\study\c++test\t1\Product\t1.cpp_0\SourceCodeTestCases\TestHarness\Src\t1_7000.cpp
E:\study\t1\t1.cpp(5) : error C2002: invalid wide-character constant
E:\study\t1\t1.cpp(5) : error C2002: invalid wide-character constant
Error: Compile failed for: E:\study\c++test\t1\Product\t1.cpp_0\SourceCodeTestCases\TestHarness\Src\t1_7000.cpp .

查看C++Test自动产生的文件t1_7000.cpp,发现如下语句:
void fun1()
{

auto wchar_t *pt = (L"\xc4\xe3"); CPPTEST_STACK_TRACE_STMT_INFO(12, __FILE__, 8, 1, 0, 0)
….
}
正确的应该是wchar_t *pt = (L"\xc4e3"), c++Test没有正确将中文字符按照两个字节格式赋值给 wchar_t *pt 导致编译错误。
请问哪位老大能解决这个问题?多谢!
页: [1]
查看完整版本: c++Test 处理wchar_t 和宽字符(中文)的问题,请高手出招!