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了。