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

ASCIIcharacter set 没有 character â,所以你想要做的事情是不可能的。

你可以试试这个:

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