VC資料型別轉換函式

2021-05-22 04:47:53 字數 4810 閱讀 6034

//將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 ...