我试图将带有特殊字符的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()&LT;&LT; fileName显示真正的值“â.tmp”但在将其转换为const char *之后,我没有成功获得正确的值。
我第二次尝试使用
const char* cfileName = QString::fromUtf8(fileName.toAscii().data());
但我仍然没有正确的值,它显示相同的内容:a?.tmp
。
我该如何解决这个问题?
答案 0 :(得分:0)
ASCII
字符集没有字符â
,所以你要做的就是不可能。
你可以试试这个:
const char* cfileName = = fileName.toUtf8().data();