MFC中的字元轉換

2021-10-23 10:29:15 字數 1954 閱讀 7402

字元轉換

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]

='\0'

;

2. int向cstring型別的轉換

若轉換時format函式第乙個引數報錯可能是因為專案字符集有問題,可以修改為「使用多位元組字符集」;或者將引數"%d"改為_t("%d")

int myint;

//目標int型別

cstring mycstring;

//目標cstring型別

mycstring.

format

("%d"

,myint)

;

轉換函式,有兩個引數(前乙個%d表示十進位制正數,不加則不能將myint格式為cstring;第二個引數即為需要轉換的int型別變數)

formt簡單介紹:

有倆種形式,分別是倆個引數和三個引數,三個引數的執行緒安全但是不常用,倆個引數的較為常用,需要著重掌握。

3. cstring向int型別轉換

int myint;

//目標int型別

cstring mycstring;

//目標cstring型別

myint=

_ttoi

(mycstring)

;

4. int向string型別轉換

使用c++函式std::to_string可以實現轉換,std::to_string不但可以將int轉換成string,對於常用的基本資料型別都能進行轉換,如float、double、long等。

int myint;

//目標int型別

string to_string (myint)

;

5. string向int型別轉換

std::string str;

//目標string型別

int myint = std::

stoi

(str)

;

6. char向cstring型別轉換

//產生兩個個隨機長度的key字元陣列

char

* key = test-

>

genrandomstring

(128);

char

* value = test-

>

genrandomstring

(256

);

//do something 對資料進行操作

………………

char temp[

1024

];

//將字元陣列,key,value按照一定的格式要求,連線起來

sprintf

(temp,

"%s%s%s%s%s%s"

,"key:"

,key,

"------"

,"value"

,value,

"插入成功!"

);

//生成我們需要的cstring物件

cstring str

(temp)

;

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

include stdafx.h include stringchang.h cstringchang cstringchang void cstringchang cstringchang void 將字串轉換為16進製制,倆個字元間插入了乙個空格 int cstringchang string2...

MFC下各種字元結構的轉換

今天被mfc的字符集,多位元組,雙位元組,unicode等搞得狠鬱悶,於是乾脆就整理出乙個字元轉換的類。include stdafx.h class string string string void string string void void string extractstring void...