• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            轉(zhuǎn)換16進(jìn)制字符串為數(shù)值

               1:          /*! 轉(zhuǎn)換16進(jìn)制字符串為數(shù)值
               2:              \param    [out]    Value        輸出的數(shù)據(jù)。
               3:              \param    [in]    szHexStr    要轉(zhuǎn)換的字符串。
               4:              \param    [in]    stStrLen    字符串長(zhǎng)度;默認(rèn)為零,表示szHexStr以NULL結(jié)尾,最長(zhǎng)為8+2。
               5:  
               6:              \retval    bool    - true:成功。
               7:                              - false:失敗。
               8:  
               9:              \warning    Value的類(lèi)型只能是數(shù)值型的,并且是無(wú)符號(hào)。如DWORD, BYTE, etc.
              10:              \author        FongLuo
              11:              \date        2008-01-25
              12:          */
              13:          template<typename VALUE_TYPE >
              14:          bool ConvertHexString(VALUE_TYPE &Value, LPCTSTR pcszHexStr, size_t stStrLen /*= 0*/)
              15:          {
              16:              ASSERT(pcszHexStr != NULL);
              17:   
              18:              if(stStrLen == 0)
              19:                  stStrLen = _tcslen(pcszHexStr);
              20:   
              21:              if(stStrLen == 0)
              22:                  return false;
              23:   
              24:              LPCSTR pStr = pcszHexStr;
              25:   
              26:              // 去掉開(kāi)頭的0x字符
              27:              if    (    (pcszHexStr[0] == _T('0'))
              28:                  &&    (toupper(pcszHexStr[1])  == _T('X'))
              29:                  )
              30:              {
              31:                  if(stStrLen <= 2)
              32:                      return false;
              33:   
              34:                  pStr += 2;
              35:                  stStrLen -= 2;
              36:              }
              37:   
              38:              // 限制轉(zhuǎn)換字符串的最大長(zhǎng)度
              39:              stStrLen = min(sizeof(Value)*2, stStrLen);
              40:   
              41:              Value = 0;
              42:   
              43:              char ch = 0;
              44:              for(size_t sti = 0; sti<stStrLen; sti++, pStr++)
              45:              {
              46:                  ch = *pStr;
              47:   
              48:                  // 必須為16進(jìn)制的字符
              49:                  if(isxdigit(ch))
              50:                  {
              51:                      Value <<= 4;
              52:                      // 轉(zhuǎn)為大寫(xiě)
              53:                      ch = toupper(ch);
              54:                      if(isdigit(ch))
              55:                      {
              56:                          // '0' ~ '9' 的處理
              57:                          Value |= (ch - _T('0'));
              58:                      }
              59:                      else
              60:                      {
              61:                          // 'A' ~ 'F' 的處理
              62:                          Value |= (ch - _T('7'));
              63:                      }
              64:                  }
              65:                  else
              66:                  {
              67:                      break;
              68:                  }
              69:              }
              70:   
              71:              return true;
              72:          }

            posted on 2008-01-25 11:49 FongLuo 閱讀(613) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            <2008年1月>
            303112345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            導(dǎo)航

            常用鏈接

            留言簿

            隨筆分類(lèi)(11)

            隨筆檔案(79)

            文章檔案(1)

            收藏夾(38)

            學(xué)習(xí)網(wǎng)站

            一般網(wǎng)站

            最新隨筆

            搜索

            積分與排名

            最新評(píng)論

            閱讀排行榜

            婷婷久久香蕉五月综合加勒比| 青青草原综合久久| 国内精品伊人久久久久影院对白 | 久久精品国产亚洲AV影院| 四虎国产永久免费久久| 久久99精品国产一区二区三区| 欧洲人妻丰满av无码久久不卡| 亚洲AV日韩精品久久久久久| 久久中文字幕人妻丝袜| 中文字幕无码久久久| 少妇无套内谢久久久久| 久久夜色精品国产噜噜亚洲a| 亚洲国产一成久久精品国产成人综合| 狠狠人妻久久久久久综合蜜桃| 久久综合九色综合久99| 超级碰久久免费公开视频| 久久久国产精华液| 久久亚洲AV无码精品色午夜 | 亚洲精品高清国产一线久久 | 国产成人无码精品久久久性色 | 四虎亚洲国产成人久久精品| 午夜福利91久久福利| 狠狠色婷婷久久一区二区| 久久久久人妻一区二区三区vr | 久久精品中文无码资源站| 久久久久久久人妻无码中文字幕爆 | 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 99久久精品免费| 亚洲人成网站999久久久综合| 亚洲精品午夜国产VA久久成人| 久久久久亚洲AV无码永不| 大蕉久久伊人中文字幕| 久久人人爽人人爽人人av东京热| 久久人妻少妇嫩草AV无码专区| 久久香蕉国产线看观看乱码| 一本色道久久综合狠狠躁篇| 91久久婷婷国产综合精品青草| 久久无码一区二区三区少妇 | 久久亚洲精品成人AV| 久久久久国产精品麻豆AR影院 | 久久婷婷五月综合色高清|