Qt字符串转换和处理

#include <QtGui/QApplication> 
#include "testqstring.h" 
#include "boost/lexical_cast.hpp" 
#include <iostream> 
#include <string> 
#include <stdio.h> 
#include <QDebug> 

using namespace std; 

int main(int argc, char *argv[]) 
{ 
QApplication a(argc, argv); 
testQString w; 
w.show(); 

QString qStr="testString"; 
qDebug()<<"wyz-------1:"<<qStr; 

string str=qStr.toStdString(); 
cout<<"wyz-------2:"<<str<<endl; 

char *cStr; 
cStr=(char*)str.c_str(); 
cout<<"wyz-------3:"<<cStr<<endl; 

string str_1="testString2"; 
QString qStr_1; 
qStr_1.sprintf("%s",str_1.c_str()); 
qDebug()<<"wyz-------4:"<<qStr_1; 


return a.exec(); 
}
运行结果:

Starting /root/testQString-build-desktop/testQString...wyz-------1: "testString" wyz-------2:testStringwyz-------3:testStringwyz-------4: "testString2" 

 

int 转 QStringQString & sprintf ( const char * cformat, ... )

string strData= write1.write(smsJson);strData = boost::erase_all_copy(strData, "\n");

 

string strTemp=m_qStrInfo.toStdString();

vector<string > splitVec;
boost::split(splitVec, strTemp, boost::is_any_of("\r\n"));

 

 

 


========网上copy来copy去的资料=============

//常用参数类型:char *字符串, QByteArray字符数组, QString字符串
//需要转换:char * ---转--- QByteArray ---需要调用QByteArray类的构造函数
char*     --------------QByteArray(const char*)-----------> QByteArray
char* str;
QByteArray byte(str);


char*     --------------QString(const char*)-------------->QString
char* str;
QString string(str);


QByteArray   -------------data()-------------------->char*
QByteArray byte;
char* str = byte.data();


QByteArray ------------QString()------------------->QString
QByteArray byte;
QString string(byte);


QString --------------toAscii()--------------------> QByteArray
QString string;
QByteArray byte = string.toAscii();


QString -------------qPrintable()------------------>char*
QString string;
char* str = qPrintable(string);



QString s2q(const string &s)
{
    return QString(QString::fromLocal8Bit(s.c_str()));
}
string q2s(const QString &s)
{
    return string((const char *)s.toLocal8Bit());
}



QByteArray qba = m_pTcpSocket->readAll();
QString strings(qba);   //转换成qt字符串



QByteArray qba = tcpSocket->readAll();
char *readStr=qba.data();    //把QByteArray转换成char 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值