[Qt-interest] Non-latin characters in QString and char * on Windows
Konstantin Tokarev
annulen at yandex.ru
Thu Mar 3 09:48:24 CET 2011
Thanks for all replies!
I've modified my code but it still works improperly on Windows:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QString fileName = QFileDialog::getOpenFileName();
QByteArray fileNameArr = QFile::encodeName(fileName);
const char * fileNameStr = fileNameArr.constData();
if(!QFile::exists(fileName))
return 0;
cout << fileNameArr.data() << '\n'
<< fileNameStr << endl;
ifstream ifs;
ifs.open(fileNameStr);
if (!ifs)
return 0;
cout << "OK" << endl;
return 0;
}
On Windows I get two (identical) lines with broken Cyrillic characters and no "OK"
On Linux I get two (identical) correct lines and "OK".
Any ideas?
--
Regards,
Konstantin
More information about the Qt-interest-old
mailing list