Qt之std::string与QString之间的转换
2013-09-20 20:08
1281 查看
在使用QT和C++进行开发的时候,由于两者的数据类型不完全相同,需要进行转换。下面介绍QString和string类型相互转换的方法。(QT4.6上已测试可用。)
1、在头文件中添加inlucde信息和转换函数声明:
view plaincopy to clipboardprint?
#include <QString>
#include <vector>
#include <iostream>
#include <string>
using namespace std;
QString s2q(const
string &s);
string q2s(const
QString &s);
#include <QString>
#include <vector>
#include <iostream>
#include <string>
using namespace std;
QString s2q(const
string &s);
string q2s(const
QString &s);
2、在主体CPP文件中添加以下转换函数即可:
view plaincopy to clipboardprint?
QString s2q(const
string &s)
{
return QString(QString::fromLocal8Bit(s.c_str()));
}
string q2s(const
QString &s)
{
return string((const char *)s.toLocal8Bit());
}
QString s2q(const
string &s)
{
return QString(QString::fromLocal8Bit(s.c_str()));
}
string q2s(const
QString &s)
{
return string((const char *)s.toLocal8Bit());
}
-----------------------------QSting与String--[2]--------------------------------
http://blog.csdn.net/mociml/archive/2010/04/28/5539124.aspx
string s = qstr.toStdString();
QString qstr2 =
QString::fromStdString(s);
---------------------------------QSting与int-------------------------------------
QString qstr =
QString::number(123);
int i = atoi(qstr.toStdString().c_str());
也可以这样:int i = atoi(qstr.ascii());
---------------------------------QSting与Char-----------------------------------
http://apps.hi.baidu.com/share/detail/33589899
1、char型数组或字符串指针转换成QString
char str_data[512];
QString qs_data;
............
qs_data =
QString::fromLocal8Bit(str_data,512); //当然也可以用强制类型转换QString(str_data)
2、QString类型转换为 char指针类型
const char * str_data; //这里一定要加上const,否则会报错!
QString qs_data;
...........
str_data = qs_data.ascii();
1、在头文件中添加inlucde信息和转换函数声明:
view plaincopy to clipboardprint?
#include <QString>
#include <vector>
#include <iostream>
#include <string>
using namespace std;
QString s2q(const
string &s);
string q2s(const
QString &s);
#include <QString>
#include <vector>
#include <iostream>
#include <string>
using namespace std;
QString s2q(const
string &s);
string q2s(const
QString &s);
2、在主体CPP文件中添加以下转换函数即可:
view plaincopy to clipboardprint?
QString s2q(const
string &s)
{
return QString(QString::fromLocal8Bit(s.c_str()));
}
string q2s(const
QString &s)
{
return string((const char *)s.toLocal8Bit());
}
QString s2q(const
string &s)
{
return QString(QString::fromLocal8Bit(s.c_str()));
}
string q2s(const
QString &s)
{
return string((const char *)s.toLocal8Bit());
}
-----------------------------QSting与String--[2]--------------------------------
http://blog.csdn.net/mociml/archive/2010/04/28/5539124.aspx
string s = qstr.toStdString();
QString qstr2 =
QString::fromStdString(s);
---------------------------------QSting与int-------------------------------------
QString qstr =
QString::number(123);
int i = atoi(qstr.toStdString().c_str());
也可以这样:int i = atoi(qstr.ascii());
---------------------------------QSting与Char-----------------------------------
http://apps.hi.baidu.com/share/detail/33589899
1、char型数组或字符串指针转换成QString
char str_data[512];
QString qs_data;
............
qs_data =
QString::fromLocal8Bit(str_data,512); //当然也可以用强制类型转换QString(str_data)
2、QString类型转换为 char指针类型
const char * str_data; //这里一定要加上const,否则会报错!
QString qs_data;
...........
str_data = qs_data.ascii();
相关文章推荐
- QString、std::string、char* 之间的转换
- QT处理中文路径名时把QString转换成std::string
- Qt string与QString之间的转换
- Qt string与QString之间的转换
- C++中,如何在标准库的std::string和常用库(Qt,VC等)的QString之间进行选择?
- 【Qt开发】QString,std::string,char*,int等类型数据的转换
- QString & std::string & char*之间的转换
- QString 与 char* 、std:string之间的转换
- 【Qt】QString,std::string,char中文字符互相转换
- 演示了字符串在String ,ansi char ,std::string之间的转换
- Qt中Qstring,char,int,QByteArray之间到转换(转)
- Qt中Qstring,char,int,QByteArray之间到转换
- ATL::CStringA和std::string之间转换的一些误区
- QString与std::string的相互转换
- Qt中Qstring,char,int,QByteArray之间到转换
- std::string 与 char* 之间的转换
- QT学习之类型转换,char*,QString,int,QByteArray之间的转换。
- QString 和 std::string 转换
- QString与string之间的转换
- 在windows下的QT编程中的char*,wchar_t*与QString之间的转换