1. ホーム
  2. c++

[解決済み] QStringからchar*への変換

2022-02-03 03:53:34

質問

以下の方法で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();
}

では、おそらく他の問題があるのでしょう。具体的にどのようにうまくいかないのでしょうか?