sscanf 和sprint 64位資料處理
阿新 • • 發佈:2019-02-13
<span style="font-size:18px;">bool CTokenDBInterface::HexStrToTenStr(const char *pHexChar,string &strMac) { ulong64 MacAddr=0; string str = "0x"; str += pHexChar; <span style="color:#FF0000;">//str = "0xaa223344eeff00"</span> if(sscanf(str.c_str(),"%I64x"/*"%llx"(MAC下不識別I64)*/,&MacAddr)==-1)<span style="color:#FF6666;">//MacAddr對應的十進位制資料</span></span><pre name="code" class="cpp"><span style="font-size:18px;"> return false; char MacBuffer[40]={0}; sprintf(MacBuffer,"%llu",MacAddr);<span style="color:#FF0000;">//把長整型資料存成字串</span> strMac.clear(); strMac += MacBuffer; return true; } bool CTokenDBInterface::TenStrToHexStr(const char *pTenStr,string &strMac) { ulong64 MacAddr=0; string str = ""; str += pTenStr; if(sscanf(str.c_str(),"%I64d"/*"%lld"(MAC下不識別I64)*/,&MacAddr)==-1)<span style="color:#FF0000;">//把長字串資料轉成長整型資料</span> return false; char MacBuffer[25]={0}; sprintf(MacBuffer,"%llx",MacAddr);<span style="color:#FF0000;">//把長整型資料以十六進位制的格式儲存在macBuffer中</span> strMac.clear(); strMac += MacBuffer; return true; } 2.不區分大小寫比較字串函式: stricmp 和strcasecmp,,,其中stricmp是strcasecmp的巨集定義........!!!! </span>