Qt型別轉換

2022-08-20 22:12:09 字數 3076 閱讀 9797

**自:

1、char * 與 const char *的轉換

char *ch1="hello11";

const char *ch2="hello22";

ch2 = ch1;//不報錯,但有警告

ch1 = (char *)ch2;

2、char 與 qstring的轉換

char 轉換為 qstring

其實方法有很多中,我用的是:

char a='b';

qstring str;

str=qstring(a);

qstring 轉換為 char

方法也有很多種

qstring str="abc";

char *ch;

qbytearray ba = str.tolatin1()

ch = ba.data();

注意:在呼叫qbytearray.data()之前,必須要先顯示儲存這個bytearray。像這樣const char *ch = str.tolatin1().data();會使程式崩潰,因為qbytearray沒有被儲存,呼叫data()前是不存在的,必須先顯式呼叫一次tolatin1(),再呼叫data()。

3、qbytearray 與 char* 的轉換

qbytearray 轉換為 char *

char *ch;//不要定義成ch[n];

qbytearray byte;

ch = byte.data();

char * 轉換為 qbytearray

char *ch;

qbytearray byte;

byte = qbytearray(ch);

4、qstring 與 qbytearray 的轉換

qstring轉換為qbytearray

qbytearray byte;

qstring string;

byte = string.toascii();

qbytearray 轉換為 qstring

qbytearray byte;

qstring string;

string = qstring(byte);

這裡再對這倆中型別的輸出總結一下:

qdebug()<

qdebug()<

5 、int與 qstring 的轉換

int 轉 qstring

int a=10;

qstring b;

b=qstring::number(a)

qstring 轉int

qstring a="120"

int b;

b=a.toint()

5、qstring與string的轉換

qstring --> string

qstring.tostdstring();

string --> qstring

qstring::fromstdstring(string)

6、qstring與其他型別的轉換

qstring --->int,double,char *

qstring::toint()

qstring::todouble()

qstring.tostdstring().c_str();

7、 int double char* --->string

可以採用裡的stringstream

以int 為例,int a = 3;

stringstream ss;

string strint;

ss<>strint;

8、qstring--->qdatetime

cpp**  

qdatetime轉qstring  

public qdatetime qdate = qdatetime.currentdatetime();  

datetime = qdate.tostring("yyyy年mm月dd日ddddhh:mm:ss");  

//2023年03月-05日monday13:48:55

qstring轉換成qdatetime  

qdatetime datetime2 = qdatetime::fromstring("m1d1y9800:01:02",  

"'m'm'd'd'y'yyhh:mm:ss");  

9、qstring -->char*

cpp**  

qstring 轉換char*問題!  

方法一:  

qstring qstr("hello,word");  

const

char * p = qstr.tolocal8bit().data();  

方法二:  

const

char *p = qstr.tostdstring().data();  

//轉換過來的是常量

方法三:  

qstring str="abc";  

char *ch;  

qbytearray ba = str.tolatin1()  

ch = ba.data();  

或者qstring tmp = "test";

qbytearray text = tmp.tolocal8bit();

char *data = new char[text.size() + 1]

strcpy(data, text.data());

delete data;

Qt 型別轉換

1 char 與 const char 的轉換 char ch1 hello11 const char ch2 hello22 ch2 ch1 不報錯,但有警告 ch1 char ch2 2 char 與 qstring的轉換 char 轉換為 qstring 其實方法有很多中,我用的是 char ...

Qt所有型別轉換

1 char 與 const char 的轉換 char ch1 hello11 const char ch2 hello22 ch2 ch1 不報錯,但有警告 ch1 char ch2 2 char 與 qstring的轉換 char 轉換為 qstring 其實方法有很多中,我用的是 char ...

Qt筆記 型別轉換

char ch1 hello11 const char ch2 hello22 ch1 char ch2 char 轉換為 qstring 其實方法有很多中,常用的是 char a b qstring str str qstring a qstring 轉換為 char 方法也有很多種 qstrin...