飘飘白云

游戏开发

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  12 随笔 :: 0 文章 :: 13 评论 :: 0 Trackbacks

在坛子上常见有人问字符串转换的问题,下面贴两个关于宽窄字符串转换以及16进制字符转换为整数的函数mark一下。用到了ATL的CStringW与CStringA,如果用char*与wchar_t*也是一样的转换~

 1// 16 string to int
 2int convert16StringToInt(const TCHAR* string)
 3{
 4    int ret = 0;
 5    int offset = 0;
 6    if (string[0== '0' && (string[1== 'x' || string[1== 'X')){
 7        offset = 2 ;
 8    }

 9    int length = ::_tcsclen(string);
10    if (length <= 10 && length > 0{
11        TCHAR*    pszEnd;
12        ret = ::_tcstol((string + offset), &pszEnd, 16);
13    }

14
15    return ret;
16}

17
18// CStringA to CStringW
19CStringW convertStringA2W(CStringA srcStr)
20{
21    wchar_t wc[MAX_PATH];
22    MultiByteToWideChar(CP_ACP, 0, (LPCSTR) srcStr, -1, wc, MAX_PATH);
23
24    CStringW dstStr;
25    dstStr.Format(L"%s", wc);
26    return dstStr;
27}

 

posted on 2007-12-10 10:15 飘飘白云 阅读(70) 评论(0)  编辑 收藏 引用 所属分类: Tips

标题  
姓名  
主页
验证码 *
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
[使用Ctrl+Enter键可以直接提交]