_tcstoul() 使用

在做DWORD与 CString 比较的时候 ,需要将CString 转换成 DWORD,有几种转换方法,但是明明转换结果是一样的,可就是提示不相等,后来 _tcstoul()转换后才相等 ,记录下
    CString str = lp->GetSubItem(nCol);   
                        //    MessageBox(str,m_strItem,MB_OK);
                        DWORD dwData = _tcstoul( str, NULL, 10 ); // 10进制
                        if (dwItem ==dwData)
                        {
                            //AfxMessageBox("找到找到找到找到找到找到找到找到找到找到找到找到找到");                           
                             return pCur;
                        }
使用_tcstoul()或者_tcstol(),它们都能把字符串转化成任意进制的长整数(如二进制、八进制、十进制或十六进制),不同点在于前者转化后的数据是无符号的(unsigned),而后者相反。看下面的例子:
CString hex = _T("FAB");
CString decimal = _T("4011");
ASSERT(_tcstoul(hex, 0, 16) == _ttoi(decimal));

posted on 2011-08-08 23:09  我要穿越  阅读(3115)  评论(0)    收藏  举报

导航