这三种数据类型在实际运用中经常需要互相转换,那么这里小结下它们之间的转换方法:
- 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);
本文转自博客园Grandyang的博客,原文链接:之间相互转换QString, string, int, char* ,如需转载请自行联系原博主。