QString, string, int, char* 之間相互轉換


 

這三種數據類型在實際運用中經常需要互相轉換,那么這里小結下它們之間的轉換方法:

 

- Qstring & string

Qt中封裝的類十分強大,其成員函數數量之多比STD有過之而無不及,許多程序員抱怨Qt非要整個自己的QTD,為啥不直接支持STD,但是我想說某些時候QTD完全可以替代STD,就算不想完全替代,Qt也提供了完整而強大的相互轉換的函數,下面我們先來看Qstring和string的相互轉換。

// string to QString
std::string s = "hello world";
QString qs = QString::fromStdString(s);

// QString to string
QString qs = "coder";
std::string s = qs.toStdString();

 

- QString & int

// QString to int
QString qs = "123";
int d = qs.toInt();

// int to QString
int d = 18;
QString qs = QString::number(d);

 

- string & int

// string to int
std::string s = "28";
int d = atoi(s.c_str());

// int to string
int d = 123;
// method 1
char *intStr = itoa(d);
std::string s = string(intStr);
// method 2
stringstream ss;
ss << d;
std::string s = ss.str();
// method 3
std::string s = std::to_string(d);

 

- char* & string

參見我之前的博客string to char* and char* to string 玩轉 String 和 Char*

 

- char* & QString

可先由上面的方法將char*先轉為string,再和QString相互轉換。

 

- char* & int

可先將char*轉為string,或是先將int轉為string,於是就變成了它們和string之間的轉換。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM