MyException - 我的异常网
当前位置:我的异常网» C++ Builder » 比较奇怪的有关问题,大侠

比较奇怪的有关问题,大侠

www.MyException.Cn  网友分享于:2013-01-08  浏览:2次
比较奇怪的问题,请教各位大侠
如下代码,执行就正确:
        //for test
        AnsiString str = "0xEEEEEE";
        UINT32 udwDat = strtoul(str.c_str(),NULL,16);
此时udwDat能得到正确值:0xEEEEEE
可是如下代码就错误:
        //for test
        String str = "0xEEEEEE";
        UINT32 udwDat = wcstoul(str.c_str(),NULL,16);
此时udwDat得到的是0xFFFFFFFF。看了strtoul()和wcstoul()函数的说明,差别只是一个是const char*,一个是const wchar *,其内部动作应该一致的。但为何第一个例子就能正确转换,第二个就无法正确转换呢?哪位高人给解释一下,多谢。
------解决方案--------------------
用你的代码在CB2010上测试了一下,两者都是正确的,值都是0xEEEEEE

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有