我试图通过以下方法将 QString 转换为 char* 类型,但它们似乎不起作用。
//QLineEdit *line=new QLineEdit();{just to describe what is line here}
QString temp=line->text();
char *str=(char *)malloc(10);
QByteArray ba=temp.toLatin1();
strcpy(str,ba.data());
您能否详细说明这种方法可能存在的缺陷,或者提供一种替代方法?
最佳答案
好吧,Qt FAQ说:
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QString str1 = "Test";
QByteArray ba = str1.toLocal8Bit();
const char *c_str2 = ba.data();
printf("str2: %s", c_str2);
return app.exec();
}
所以也许您还有其他问题。这到底是怎么回事?
关于c++ - QString 到 char* 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2523765/