Qt筆記 型別轉換

2021-08-11 05:48:07 字數 3545 閱讀 9579

char

*ch1=

"hello11"

;const

char

*ch2=

"hello22"

;ch1 =

(char

*)ch2;

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()。

qbytearray 轉換為 char *

char

*ch;

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

qbytearray byte;

ch = byte.

data()

;

char * 轉換為 qbytearray

char

*ch;

qbytearray byte;

byte =

qbytearray

(ch)

;

qstring轉換為qbytearray

qbytearray byte;

qstring string;

byte = string.

toascii()

;

qbytearray 轉換為 qstring

qbytearray byte;

qstring string;

string =

qstring

(byte)

;

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

qdebug()

<<

"print"

;qdebug()

<"print");

qdebug()

<(ch 為char型別)

qdebug()

<<

tr(ch)

;qdebug()

<(bytearray是qbytearray型別)

qdebug()

<<

tr(bytearray)

;qdebug()

<(str 為qstring型別)

但是qdebug()<<

tr(str.tolatin1)

;int 轉 qstring

int a=10;

qstring b;

b=qstring:

:number

(a)

qstring 轉int

qstring a=

"120"

int b;

b=a.toint()

qstring --

> string

qstring.

tostdstring()

;string --

> qstring

qstring:

:fromstdstring

(string)

qstring --

->

int,

double

,char

*qstring:

:toint()

qstring:

:todouble()

qstring.

tostdstring()

.c_str()

;

可以採用裡的stringstream

以int 為例,int a = 3;

stringstream ss;

string strint;

ss>strint;

cpp** 收藏**

qdatetime轉qstring

public qdatetime qdate = qdatetime.

currentdatetime()

; datetime = qdate.

tostring

("yyyy年mm月dd日ddddhh:mm:ss"

);

qstring轉換成qdatetime

qdatetime datetime2 = qdatetime:

:fromstring

("m1d1y9800:01:02"

,"'m'm'd'd'y'yyhh:mm:ss"

);

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 其實方法有很多中,我用的是 cha...

Qt所有型別轉換

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