Qt字符串转换和处理----山路十八弯
来源:互联网 发布:topsir 知乎 编辑:程序博客网 时间:2024/04/30 20:53
公司最近要求用Qt写程序,最郁闷的就是字符串之间的转化。搞的自己七荤八素的!还好本人耐折腾。。。自己也尝试出了几种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:testString
wyz-------3:testString
wyz-------4: "testString2"
int 转 QString
QString & 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
- Qt字符串转换和处理----山路十八弯
- Qt字符串转换和处理
- GCtf2017---Forbidden(山路十八弯各种要求报文格式+加解密)
- (二十八)Qt中的事件处理
- FLEX日期格式化处理和字符串转换
- FLEX日期格式化处理和字符串转换
- Qt开发字符串转换
- linux和qt 字符串和数字转换篇
- linux和qt 字符串和数字转换篇
- Qt字符串编码处理
- 字符串处理-字符串和整数之间的转换
- Qt中数值和字符串之间的转换
- QT学习6:字符串处理和编码相关
- 高速PCB设计绕等长一定要绕个山路十八弯太算吊?
- Qt浅谈之十八:GraphicsView框架事件处理
- Qt浅谈之十八:GraphicsView框架事件处理
- Qt浅谈之十八:GraphicsView框架事件处理
- Qt浅谈之十八:GraphicsView框架事件处理
- instanceof
- 了解 XA 事务
- 测试优化速度代码
- 让自己的软件实现拖拽打开文件
- 设计
- Qt字符串转换和处理----山路十八弯
- android基本概念-android系统架构
- [doubango Programmer's Guide] 4.3.1 tinySAK 翻译
- node.js 接收get请求
- Android build过程中already defined by packages/apps 的解决方法
- awk 用法
- 联合信源推出采用ARM Cortex-A8的AVS标清解码器
- 正则表达式30分钟入门教程
- 求最大公约数