QString和char*互转】的更多相关文章

1. QString转为char * // QString转QByteArray QByteArray sr = strQ.toLocal8Bit(); int len = sr.length(); char* buf = new char[len+2]; buf[len] = buf[len+1] = 0; // QByteArray转char* strcpy(buf,sr.data()); 2. char *转为QString char *ch="hello!"; QString…
Qt下面,字符串都用QString,确实给开发者提供了方便,想想VC里面定义的各种变量类型,而且函数参数类型五花八门,经常需要今年新那个类型转换 Qt再使用第三方开源库时,由于库的类型基本上都是标准的类型,字符串遇的多的就是Char*类型 在Qt下怎样将QString转char*呢,需要用到QByteArray类,QByteArray类的说明详见Qt帮助文档. 因为char*最后都有一个‘/0’作为结束符,而采用QString::toLatin1()时会在字符串后面加上‘/0’ 方法如下: Qs…
c++ string 与 char 互转 很简单如下 ] = {'A','B','C','D','E'}; printf("%s\n",bts); //char to string std::string strBts = bts; std::cout << strBts << std::endl; //string to char char *theBts = (char *)strBts.c_str(); printf("%s\n",th…
How can I convert a QString to char* and vice versa ?(trolltech) Answer:In order to convert a QString to a char*, then you first need to get a latin1 representation of the string by calling toLatin1() on it which will return a QByteArray. Then call d…
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=…
(1) QString 转 char* char acResult[10240]; //QByteArray baResult = strResult.toLatin1(); QByteArray baResult = strResult.toLocal8Bit(); char *pcResult = baResult.data(); strcpy(acResult, pcResult); (2) char* 转QString char acName[] = "huang"; QStr…
QString转换成char * 的时候,一定要定义一个QBateArray的变量.不能连写 How can I convert a QString to char* and vice versa ?(trolltech)Answer:In order to convert a QString to a char*, then you first need to get a latin1 representation of the string by calling toLatin1() on…
1 前言 今天在网上看论坛,发现大家对CString与Char *互转各说一词,其实我发现提问者所说的情况与回答问题的人完全不是同一情况,这里做一总结. 首先大家得清楚一件事,一般在网上提出问题的人大部分使用的都是VC,那么你就应该知道,在VC下编程,工程属性中有一属性Charecter Set属性,其值可以设置为Use Multi-Byte Charecter Set 和 Use Unicode Charecter Set 这两种选择,具默认情况下工程是采用了Use Unicode Chare…
QString在Qt里相当于C++里的std::string,或者是C里的c style string.不过,QString跟编码相关,在低层想把一个QString发送出去相当麻烦,尤其对方用的不是Qt的时候,必须先转化为char数组. QString转换为char数组,基本就是先将QString转换为QByteArray,再从QByteArray取得char *指针,就可以得到char类型的数据了.需要注意的是QString的编码. 假如为UTF8编码,则QString str("中国人&qu…
char * 与 const char *的转换 char *ch1="hello11"; const char *ch2="hello22"; ch2 = ch1;//不报错,但有警告 ch1 = (char *)ch2; 1 2 3 4 char 与 QString的转换 char 转换为 QString 其实方法有很多中,我用的是: char a='b'; QString str; str=QString(a); 1 2 3 QString 转换为 char …
原地址:http://blog.sina.com.cn/s/blog_5c70dfc80100r0nh.html 一.QString转char*   QString str; int num=0; str=QString("D:/temp/%1.bmp").arg(num); const char* ch=str.toLocal8Bit().data(); ......   二.char*转QString   char* ch="D:/temp/1.bmp"; QS…
Qt下面,字符串都用QString,确实给开发者提供了方便.Qt再使用第三方开源库时,由于库的类型基本上都是标准的类型,字符串遇的多的就是Char*类型 Qt再使用第三方开源库时,由于库的类型基本上都是标准的类型,字符串遇的多的就是Char*类型 因为char*最后都有一个‘/0’作为结束符,而采用QString::toLatin1()时会在字符串后面加上‘/0’ 方法如下: 1.QString转char *先将QString转换为QByteArray,再将QByteArray转换为char *…
Qt下面,字符串都用QString,确实给开发者提供了方便,想想VC里面定义的各种变量类型,而且函数参数类型五花八门,经常需要今年新那个类型转换 Qt再使用第三方开源库时,由于库的类型基本上都是标准的类型,字符串遇的多的就是Char*类型 在Qt下怎样将QString转char*呢,需要用到QByteArray类,QByteArray类的说明详见Qt帮助文档. 因为char*最后都有一个‘/0’作为结束符,而采用QString::toLatin1()时会在字符串后面加上‘/0’ 方法如下: Qs…
Qt下面,字符串都用QString,确实给开发者提供了方便,想想VC里面定义的各种变量类型,而且函数参数类型五花八门,经常需要今年新那个类型转换 Qt再使用第三方开源库时,由于库的类型基本上都是标准的类型,字符串遇的多的就是Char*类型 在Qt下怎样将QString转char*呢,需要用到QByteArray类,QByteArray类的说明详见Qt帮助文档. 因为char*最后都有一个‘/0’作为结束符,而采用QString::toLatin1()时会在字符串后面加上‘/0’ 方法如下: Qs…
做串口通信时,碰到这样的问题,在Qt的界面中,我用QLineEdit对象负责显示发送和接收的文本,对其中的数据进行读取和显示使用的数据类型都是QString:但是,在对串口设备进行读写时,数据使用的形式都是char型指针(不知道是不是我理解的不透彻),所以就要解决QString和char型数组之间的转换.         查阅了一些资料,并经过自己的验证,找到了下面的解决办法:         1.char型数组或字符串指针转换成QString          char str_data[51…
Qt下面,字符串都用QString,确实给开发者提供了方便,想想VC里面定义的各种变量类型,而且函数参数类型五花八门,经常需要今年新那个类型转换 Qt再使用第三方开源库时,由于库的类型基本上都是标准的类型,字符串遇的多的就是Char*类型 在Qt下怎样将QString转char*呢,需要用到QByteArray类,QByteArray类的说明详见Qt帮助文档. 因为char*最后都有一个‘/0’作为结束符,而采用QString::toLatin1()时会在字符串后面加上‘/0’ 方法如下: Qs…
1.将QString转换为std::string,可以通过QString的成员函数toStdString() QString Qstr="123";std::string str=Qstr.toStdString(); 2.将QString转换为char *或者相反 直接转换不行,因为QString没有提供直接的成员函数,但是可以通过QByteArray中转一下,例如: int main(int argc, char **argv) { QApplication app(argc, a…
以下内容为转载:http://www.cnblogs.com/Romi/archive/2012/03/12/2392478.html ----------------------------------- Qt下面,字符串都用QString,确实给开发者提供了方便,想想VC里面定义的各种变量类型,而且函数参数类型五花八门,经常需要今年新那个类型转换 Qt再使用第三方开源库时,由于库的类型基本上都是标准的类型,字符串遇的多的就是Char*类型 在Qt下怎样将QString转char*呢,需要用到…
原文网址:http://blog.csdn.net/candyliuxj/article/details/6429208 1.QString转char * 先将QString转换为QByteArray,再将QByteArray转换为char *. 注意:不能用下面的转换形式char *mm = str.toLatin1().data();.因为这样的话,str.toLatin1()得到的QByteArray类型结果就不能保存,最后转换,mm的值就为空. 2. char * 转QString 可以…
QString -> unsigned char* : QString str = "ABCD";  int length = str.length(); unsigned char* sequence = NULL;sequence =(unsigned char*)qstrdup(str.toAscii().constData()); delete[] sequence; - sequence length = 5 --> ['A'] ['B'] ['C'] ['D']…
一.QString 转换为 char * 将 QString 转 char *,需要用到 QByteArray 类,QByteArray 类的说明详见 Qt 帮助文档. 因为 char * 最后都有一个'\0'作为结束符,而采用 QString::toLatin1() 时会在字符串后面加上'\0'. 方法如下: 这样就完成了 QString 向 char * 的转化.经测试程序运行时不会出现 bug.注意第3行,一定要加上,不可以 str.toLatin1().data() 这样一步完成,否则可…
Qt QString转char[]数组 QString s1="1234456";char str[20]={0};strcpy(str,s1.toStdString().c_str(),strlen(s1.length()));…
C++ TCHAR* 与char* 互转 在MSDN中有这么一段: Note: The ANSI code pages can be different on different computers, or can be changed for a single computer, leading to data corruption. For the most consistent results, applications should use Unicode, such as UTF-8…
1.qstring转化为char* QString.toStdString.c_str() 2.char*转化为QString str = QString(QLatin1String(mm)); 3.qstring转化基本数据类型 QString.toInt toDouble 4.基本数据类型转化为QString QString str; str.setNum(10); 5.qstring转化指定小数点…
//原始QStringQString qs = QString::fromLocal8Bit("我的");std::string strQs = qs.toStdString(); int qs_size = qs.length();//长度为3int strQs_size = strQs.length();//长度8 //得到转换后的char*char* p = new char[strQs_size];memcpy(p, qs.toStdString().c_str(), strQ…
以例子说明: #include <QApplication> #include <QDebug> #include <QString> #include <QByteArray> int main(int argc, char *argv[]) { QApplication a(argc, argv); ]; memset(abc, , sizeof(abc)); QString str("hello world."); QByteArr…
QVector类是一类提供了动态数组模板. QVector<T>是Qt普通容器类的一种. 它将自己的每个对象存储在连续的内存中.能够使用索引號来高速訪问它们.QList<T>.QLinkedList<T>和 QVarLengthArray<T>也提供了相似的功能,它们用法例如以下: l QList一般用得最多,它能满足我们绝大部分需求.像prepend()和insert()这种操作通常比QVector要快些,这是因为QList存储它的对象的方式(Algori…
tree_data.Desc  //Desc是char[80]类型的数据 Qstring newDescStr; strcpy(tree_data.Desc , newDescStr.toLocal8Bit().data()); 注意: .toLocal8Bit()为了让Qstring变成QByteArray,也为了汉字本地化处理:.data()是将QByteArray转换为char* 有时候打印SQL语句时,.toLocal8Bit()和.data()不能连续写,要分两步进行: 另外写了一个函…
在qt开发过程中经常遇到QString类和char数组进行转换,在此记录一下: QString->char数组 1 2 3 QString str="12fff"; QByteArray ba=str.toLatin1(); char *c=ba.data(); char数组->QString 1 2 char c[]="12ff"; QString str=QString(QLatin1String(c));…
#include <QCoreApplication> #include <QDebug> #include <QDataStream> QByteArray HexStringToByteArray(QString HexString) { bool ok; QByteArray ret; HexString = HexString.trimmed(); HexString = HexString.simplified(); QStringList sl = HexS…