1. 程式人生 > >sscanf 和sprint 64位資料處理

sscanf 和sprint 64位資料處理

<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>