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()<<"print"; qdebug()<
qdebug()<
qdebug()<
但是qdebug()<
要想用tr()函式輸出qstring型別的字元則要如下:
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
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");
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*
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 轉換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 其實方法有很多中,我用的是 cha...
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...