0

特殊文字を含む QString を const char に変換しようとしていますが、成功しませんでした。私の機能は次のとおりです。

void class::func(const QString& fileName) // fileName = "â.tmp" 
{ 
  qDebug()<< fileName; // display "â.tmp"
  const char* cfileName = fileName.toAscii().data();
  qDebug() << cfileName;  // display "a?.tmp" 
}

qDebug()<< fileName は「â.tmp」という真の値を表示しますが、それを const a char* に変換した後、正しい値を取得できません。

二度目に私は使用しようとします

const char* cfileName = QString::fromUtf8(fileName.toAscii().data());

しかし、私はまだ正しい値を持っていませんでした。同じものを表示します: a?.tmp.

どうすればこれを修正できますか?

4

1 に答える 1

0

ASCII文字セットには文字が含まれていないâため、あなたがしようとしていることは不可能です。

これを試すことができます:

const char* cfileName = = fileName.toUtf8().data();
于 2012-12-12T16:57:26.850 に答える