首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

vs2010肿么不能用通用版本的strlen?该怎么处理

2012-09-11 
vs2010肿么不能用通用版本的strlen?vs2010不是默认的unicode么?为何只有这样strlen(This My Windows Prog

vs2010肿么不能用通用版本的strlen?
vs2010不是默认的unicode么?
为何只有这样strlen("This My Windows Program!");才能通过在vs2010中
当我一用lstrlen时 ,编译器就报“lstrlenW”: 不能将参数 1 从“const char [63]”转换为“LPCWSTR”
我很好奇 ,VS2010默认的unicode 我没有更改设置,如果那样 那这("This My Windows Program!")应该是unicode编码形式存在的呀?
为何编译器会那样报错呢?



[解决办法]
反了吧?你的理解。
strlen(_T("This My Windows Program!"));
_TEXT()自动匹配各种码制。
[解决办法]
//函数带t 字符串用_T()的才是通用版本
int iLen = _tcslen(_T("XXXXXXXX"));
[解决办法]
_tcslen吧,除非是一些经典的库函数,比如socket的部分函数,还在使用char *,其他的函数都支持unicode了。

热点排行