QString为某些特殊字符提升:: filesystem :: path转换问题

时间:2014-08-11 13:59:50

标签: c++ qt boost stdstring

在Windows上,当我尝试将filepathQString转换为boost::filesystem::path时,我只面临一些特殊字符的字符串转换问题。我从典型的QDialog中获取输入QString。结果是,即使文件存在,boost::filesystem::exists( path )也会失败。

我使用以下库函数进行转换:

要从QString转换为std::string我正在使用:

QString::toUtf8()   (Qt 4.8)

要从std::string转换为boost::filesystem::path我正在使用:

boost::locale::conv::utf_to_utf<wchar_t>()

这是我将文件名传递给QDialog的方式:

不好的情况:我从MS WORD文档中复制了一些特殊字符(它看起来像ßçâäëüûéàè.pdf)并粘贴。 boost::filesystem::exists( path )失败。boost::filesystem::exists( path )失败。 (有没有办法在这里附上MS WORD?)

好的情况:我从Windows资源管理器中复制相同的特殊字符(具有这些特殊字符的实际现有文件中的字符)并粘贴。 {{1}}成功。

0 个答案:

没有答案