QString, string, int, char* 之间相互转换

这三种数据类型在实际运用中经常需要互相转换,那么这里小结下它们之间的转换方法:

- Qstring & string

Qt中封装的类十分强大,其成员函数数量之多比STD有过之而无不及,许多程序员抱怨Qt非要整个自己的QSD,为啥不直接支持STD,但是我想说某些时候QST完全可以替代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之间的转换。

时间: 2024-10-13 11:02:25

QString, string, int, char* 之间相互转换的相关文章

C++ 中 int,char*,string,CString之间相互转换-整理

#include <string> //使用C++标准库的string类时 using namespace std; //同上 #include <sstream> #include <iostream> #include <stdlib.h> //要将string类和int类型直接转换最好有这些包含, //因为自己写一个转换函数比较方便,函数定义参考如下 string getstring ( const int n ) { std::stringstrea

C++ int与string或者char*之间的转换总结

#include "stdafx.h" #include <iostream> #include <string> #include <sstream> using namespace std; int main(void) { //method1 char buf[4]; itoa(123,buf,10); //自动添'\0' cout<<buf<<endl; char buf1[]="567"; int

string,CString,char*之间的转化

int 转 CString:CString.Format("%d",int);...............................string 转 CString CString.format("%s", string.c_str()); 用c_str()确实比data()要好. .......................................char* 转 CString CString.format("%s", cha

int 与 String 与 char 之间的互相转换

int 转 String: 1 //方式一: 2 int i1 = 888; 3 String s1 = Integer.toString(i1); 4 5 //方式二: 6 int i2 = 888; 7 String s2 = String.valueOf(i2); 8 9 //方式三: 10 int i3 = 888; 11 String s3 = i3+""; String 转 int : 1 //方式一: 2 String s = "888"; 3 int

CString string char* 之间的转换

下面是MFC/C++/C中字符类型CString, int, string, char*之间的转换的说明与举例,经常用的东西,相信对于用C/C++的朋友,还是比较有用的 string,CString,char*之间的转化 int 转 CString: CString.Format("%d",int); ............................... string 转 CString  CString.format("%s", string.c_str

实战c++中的string系列--string与char*、const char *的转换(data() or c_str())

在project中,我们也有非常多时候用到string与char*之间的转换,这里有个一我们之前提到的函数 c_str(),看看这个原型: const char *c_str(); c_str()函数返回一个指向正规C字符串的指针, 内容与本string串同样. 这就看到了吧,返回值是const char*,这里须要注意一下. 1 string转const char* 当然是用到上面所述的方法c_str(): string s1 = "abcdeg"; const char *k =

Qt中QString,int,char,QByteArray之间相互转换

http://blog.csdn.net/ymc0329/article/details/7284514 int  转 QString int m=1; QString b; b=QString::number(m) QString 转int QString a="1111" int b; b=a.toInt() char 转换为 QString char a='b'; QString str; str=QString(a); QString 转换为 char QString str=

C++string,char* 字符数组,int类型之间的转换

string.int 常见类型之间相互转换 int & string 之间的转换 C++中更多的是使用流对象来实现类型转换 针对流对象 sstream实现 int,float 类型都可以实现 #include <sstream> //int convert to string void int2str(const int &int_temp,string &string_temp){ stringstream s_stream; s_stream<<int_

Qt中Qstring,char,int,QByteArray之间到转换(转)

11.各种数据类型的相互转换char * 与 const char *的转换char *ch1="hello11";const char *ch2="hello22";ch2 = ch1;//不报错,但有警告ch1 = (char *)ch2; char 转换为 QString其实方法有很多中,我用的是:char a='b';QString str;str=QString(a); QString 转换为 char方法也用很多中QString str="ab