我有这样的文件。我只想正确打开非拉丁名称的文件。
对于仅具有非拉丁名称的拉丁名称的文件,我没有任何问题。
我使用 QDir 扫描目录,并在 QString 中保存名称,所以它在里面保存得很好。
但是打开文件存在瓶颈。
它让我不想使用 QFile,我只能使用 C++ 流(更优选)或 C 文件。
当我想打开文件时,我这样做:
fstream stream(source.toStdString().c_str(),ios_base::in | ios_base::binary);
之后我检查尝试是否成功:
if(!stream.is_open())
{ cout<<"file wasn't opened " <<source.toStdString().c_str())<<"\n";
return false; // cout was redirected to file // just a notice
}
我进入我的日志文件:
文件未打开 /home/sh/.mozilla/firefox/004_??????? - ???? - ?????.mp3
它不适用于任何具有非拉丁名称的文件,并且它适用于每个具有拉丁名称的文件。
我知道可以使用 QFile 跳过这个问题。
但我想知道,是否有可能在没有第三方库的情况下完成它,或者是否有其他方法可以解决它?
提前感谢您的任何提示。