//將ascii碼轉化為16進製制數
byte asciitohexchar(byte ch)
else if((ch>='a')&&(ch<='f'))
else if((ch>='a')&&(ch<='f'))
else
}//將char轉化為16進製制
char chartohexchar(char ch)
else if((ch>='a')&&(ch<='f'))
else if((ch>='a')&&(ch<='f'))
else
}//16進製制字串cstring 轉為 byte 陣列的方法
byte stringtobytearray(cstring str)
注釋:把字元賦給byte,實則賦的是字元的ascii碼值,因此要先把ascii碼轉化為對應的16進製制數。
兩個字元賦給乙個byte,就要把第乙個字元放到byte的高4位,而第二個字元放到byte的低4位。
中間通過判斷去掉空格。
//************************************
// method: hexstringtostring
// fullname: hexstringtostring
// access: public
// returns: 返回處理後字串 cstring
// qualifier: 把十六進製制字串轉化常規字串
//************************************
cstring hexstringtostring(cstring hex)
else if ((ch>='a') && (ch<='f'))
else if ((ch>='a') && (ch<='f'))
else
if (0==iflag)
else
}return str;//0;
}//************************************
//函式名稱:int strtohex(const char *str, char *hex, uint nlength)
//功 能:將字串(不一定是以'/0'結尾的)轉化為十六進製制表示的字串,
//如:"hello"-->"48 45 4c 4c 4f" nlength可以指定為字串的實際長度
//引數說明:str--------需要轉換的字串
// hex -------轉換後的字串
// nlength----需要轉換的字串的長度(對不以'/0'結束的無符號陣列,需要指明長度)
//返 回 值:零,成功
//************************************
int stringtohexing(const char *str, char *hex , uint nlength)
return 0;
}//************************************
// method: hexstringtobyteary
// fullname: hexstringtobyteary
// access: public
// returns: int 返回轉換後位元組陣列長度
// qualifier: 把字串轉化位元組陣列
// parameter: cstring str 源十六進製制字串
// parameter: cbytearray & data 目標位元組陣列
//************************************
int ctestcomportdlg::hexstringtobyteary(cstring str,cbytearray &data)
l=str[i];
t=hextochar(h);
t1=hextochar(l);
if((t==16)||(t1==16))
else
i++;
data[rlen]=(char)t;
rlen++;
}data.setsize(rlen);
return rlen;
}//************************************
//函式:wchartochar
//功能:將16位wchar_t轉換為 8位char[2]
//引數:wcn為待轉換的16位字元,ccn為轉換後的8位字元
//備註:wchar_t的高位位元組應該儲存在char陣列的低位位元組
//************************************
void wchartochar(wchar_t wcn , char ccn)
//************************************
//函式:wchartohexstring
//功能:將16位字串轉換為十六進製制字串
//引數:待轉換的字串,字串長度
//返回值:轉換後的字串
//************************************
cstring wchartohexstring(cstring data, long ndatalength)
}return sresult;
}//************************************
//函式:hexstringtoint
//功能:將16位字串轉換為整形
//引數:待轉換的字串
//返回值:轉換後的資料
//************************************
int hexstringtoint(char *pstr)
else if(pstr[length]<='f'&&pstr[length]>='a')
result += ex*(int)pow(16,i);
i ++;
}
///printf("result=%d/n",result);
return result;
} //************************************
//函式:decimaltohex
//功能:把10進製轉換成16進製制字串的函式
//************************************
char* decimaltohex(short n)
c+=0x30;
p1--;
*p1=c;
} return p;
} //************************************
//函式:bytetohex
//功能:位元組轉換成十六進製制字元
//引數:待轉換的位元組, 長度
//************************************
void bytetohex(uint* hex,uint n)
//************************************
//函式:bytetohex
//功能:資料塊轉換成十六進製制字串
//引數:將一塊資料轉化成16進製制,存放到 buff所指的緩衝區,len為要轉換的位元組個數
//************************************
void blockdatatohexstring(char * input,char * buff,int len)
}//************************************
//函式:bytearraytohex
//功能:字元陣列的asc轉化位16進製制
//引數:size為要轉換的位元組陣列長度
//備註:呼叫如:
char asc="123";
static char buf[100];
formattohex(buf,asc,sizeof(asc));
輸出字串--"31 32 33 00 "
//************************************
void bytearraytohex(char *pout,byte *pin,int size)
}//************************************
//函式:formathexstring
//功能:格式化顯示字串
//************************************
void formathexstring(char * input,int len,int size)
} while(cur < len);
}本函式關鍵是用好printf的格式化輸出功能。
①printf("%08xh:",row_cnt++); 中的"%08x",表示輸出十六進製制整數,寬度為8個字元,左填充0。
②printf("0x%-3.2s",in + size * cur);中 "%-3.2s"表示輸出字串,寬度為3,精度為2(精度表示最多輸出兩個字元,多的捨去)左對齊,右填充空格。
把十六進製制數返回 整形,浮點形
可以用整形
int data=0;
sscanf(hexstr,"%x",&data);
浮點形float data=0.0;
sscanf(hexstr,"%x",&data);
vc 資料型別轉換
剛接觸vc程式設計的朋友往往對許多資料型別的轉換感到迷惑不解,本文將介紹一些常用資料型別的使用。我們先定義一些常見型別變數藉以說明 int i 100 long l 2001 float f 300.2 double d 12345.119 char username 女俠程佩君 char temp...
vc 資料型別轉換
技術開發 2007 01 29 16 00 13 閱讀352 字型大小 大 中小訂閱 數學型別變數與字串相互轉換 這些函式都在stdlib.h裡 1 將數學型別轉換為字串可以用以下一些函式 舉例 crtimp char cdecl itoa int,char int 這是乙個將數字轉換為乙個字串型別...
VC資料型別轉換
本文將介紹一些常用資料型別的使用。int i 100 long l 200l float f 300.2 double d 12345.119 char username 女俠程佩君 char temp 200 char buf cstring str variant t v1 bstr t v2 ...