51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2226|回复: 0
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-7-20 14:07:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的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 导致编译错误。
请问哪位老大能解决这个问题?多谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-25 08:21 , Processed in 0.071757 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表