字元轉換MFC

2021-04-09 03:20:37 字數 1701 閱讀 3098

#include "stdafx.h"

#include "./stringchang.h"

cstringchang::cstringchang(void)

cstringchang::~cstringchang(void)

// 將字串轉換為16進製制,倆個字元間插入了乙個空格

int cstringchang::string2hex(cstring str, cbytearray& senddata)

i++;

if (i >= len)

break;

lstr = str[i];

if ((hexdata = converthexchar(hstr)) == -1)

if ((lowhexdata = converthexchar(lstr)) == -1) //再將低字元轉換為16進製制字元

if ((hexdata ==16) || (lowhexdata == 16))

break;       //如果這倆個字元中任意乙個大於16則跳出

else

hexdata = hexdata*16 + lowhexdata; //否則把倆個字元疊加

i++;

senddata[hexdatalen] = (char)hexdata; //儲存到要傳送的緩衝區中

hexdatalen++;

}senddata.setsize(hexdatalen);

return hexdatalen;

}// 將乙個字元轉換為相應的十六進製制

char cstringchang::converthexchar(char ch)

//可列印字串轉換為位元組資料

// 如:"c8329bfd0e01" -->

// 輸入:   psrc   源字串

// 輸出:   pdst   位元組資料

// 返回:          位元組資料長度

int cstringchang::string2bytes(const char*  psrc, int nsrclength, unsigned char* pdst)

else

else

}psrc++;

// 輸出低4位

if ((*psrc>='0') && (*psrc<='9'))

else

else

}psrc++;

pdst++;

}return (nsrclength)/2; 

}// 兩個位元組高地位轉換

unsigned short cstringchang::lowhigh(unsigned short* pres)

// 位元組資料轉換為可列印字串

// 如: --> "c8329bfd0e01"

// 輸入: psrc - 源資料指標

//       nsrclength - 源資料長度

// 輸出: pdst - 目標字串指標

// 返回: 目標字串長度

int cstringchang::bytes2string(const unsigned char* psrc, int nsrclength, char* pdst)

// 輸出字串加個結束符

*pdst = '/0';

// 返回目標字串長度

return (nsrclength * 2);

MFC中各種字元轉換

本文主要概括了vs2013的mfc中,各種字元轉換 1.char 轉int,用函式atoi chartemp 10 int int atoi temp 2.int轉char,直接強制轉換 int int 0 char char int 3.cstring轉byte bytebyte 16 cstri...

MFC中的字元轉換

字元轉換 1.cstring向char型別轉換 cstring str hello string st string cstringa str int len st.length char ch char malloc len 動態申請char 大小的空間 for int i 0 i ch len ...

MFC日期字串轉換

一 將字串2011 08 1800 00 00轉換為字串2011 8 18,通過以下的函式 cstring datadeletezero cstring data cstring strmonth,strday,stryear int year 0,month 0,day 0 year atoi d...