#include <stdio.h>
#include <string.h>
typedef unsigned long DWORD;
// 函數功能:16進制字符串轉化為數字
// 函數返回:0不是16進制數,1是十六進制數
bool HexstrToHex(char *str, DWORD &dwVal)
{
?int ?nLen;
?int ?i;
?int ?pow;
?DWORD s;
?char ch; ??
?char *p;
?nLen = strlen(str);
?p = str + nLen;
?if (nLen > 8 || nLen == 0)
? return false;
?s = 0;
?pow = 1;
?for(i = nLen; i > 0; i --)
?{
? ch = *(--p);
? if ((ch >= 'a') && (ch <= 'f'))
? ?ch = ch - 'a' + 10;
? else if ((ch >= 'A') && (ch <= 'F'))
? ?ch = ch - ?'A' + 10;
? else if ((ch >= '0') && (ch <= '9'))
? ?ch = ch - '0';
? else
? ?return false;
? s += ch * pow;
? pow *= 16;
?}
?dwVal = s;
?return 1;
}
void main()
{
?char str[] = "a0";
?DWORD dwVal;
?if (!HexstrToHex(str, dwVal))
? printf("failed./n");
?else
? printf("%x/n", dwVal);
}
聲明:本站所有文章,如無特殊說明或標注,均為本站原創發布。任何個人或組織,在未征得本站同意時,禁止復制、盜用、采集、發布本站內容到任何網站、書籍等各類媒體平臺。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
暫無討論,說說你的看法吧