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) { QApplicatio...
const char *p = qstr.toStdString().data(); 转换过来的是常量 把当前时间转化为QString... public QDateTime qdate = QDateTime.currentDateTime(); datetime = qdate.toString("yyyy年MM月dd日ddddhh:mm:ss"); 如果不是QTime和QDate类比如说:...
要将char*转换成QString,用接收QLatin1String作参数的QString构造函数就可以了: QString string =QString(QLatin1String(c_str2)) ;
Qstring str;char* ch;QByteArray ba = str.toLatin1();ch=ba.data();这样就完成了QString向char*的转化。经测试程序运行完全正确。
在Qt下怎样将QString转char*呢,需要用到QByteArray类,QByteArray类的说明详见Qt帮助文档。因为char*最后都有一个‘/0’作为结束符,而采用QString::toLatin1()时会在字符串后面加上‘/0’方法如下:Qstring str;char* ch;QByteArray ba = str.toLatin1();ch=ba.data();这样就完成了QString...
char **argv){QApplication app(argc, argv);QString str1 = "Test";QByteArray ba = str1.toLatin1();const char *c_str2 = ba.data();printf("str2: %s", c_str2);return app.exec();}Note that it is necessary to store the bytearray before you call data() on it, a ...
QString a = "abcd";char str[10];strcpy(str, a.toLocal8Bit().data());网易云课堂免费课程:...
QString a = "abcd";char str[10];strcpy(str, a.toLocal8Bit().data());网易云课堂免费课程:《C++跨平台开发中的编译错误》
呵呵,这个问题,我也碰到,需要把界面QLineEdit等获取的QString转换一下,我都是这么用的const *str = a.toAscii().constData(); //多参考assistant或者,char str[10];memcpy(str, a.toAscii().constData(), 10); 希望对你有帮助:-)
在转换时要用char []类的,因为在这里我们不能初始化char*所以要分配一块内存空间。