当前位置: 代码迷 >> QT开发 >> ~在CSDN上面两个月发了三个这样的有关问题一直没解决,请大牛进来看看帮帮小弟啊关于QString和fopen组合的有关问题
  详细解决方案

~在CSDN上面两个月发了三个这样的有关问题一直没解决,请大牛进来看看帮帮小弟啊关于QString和fopen组合的有关问题

热度:84   发布时间:2016-04-25 03:33:47.0
~~~~~~~~~~~~~~在CSDN上面两个月发了三个这样的问题一直没解决,请大牛进来看看帮帮小弟啊~~~~~~~~,关于QString和fopen组合的问题
我的项目现在有一个接口是fopen,我用Qt做UI框架。我用

QString file = QFileDialog::getOpenFileName(this->parentWidget(),
                                                tr("Open G File"),
                        "",
                        "G File (*.g)"
                        );
FILE* f= fopen((char*)(file.toLocal8Bit().data()),'w');
只要路径包含中文就会打不开,我调试发现file.toLocal8Bit().data()的中文部分是乱码。好多转换函数都用过了都不行。小弟用的是Qt5 VS2010,请不要将那些Qt4弃用的编码函数贴上来。
希望各位能帮小弟实际试一下,因为很多热心的朋友帮我出主意我都试过都不行。

http://bbs.csdn.net/topics/390649179?page=1#post-396159354
Qt 编码 UNICODE

------解决方案--------------------
引用:
我的项目现在有一个接口是fopen,我用Qt做UI框架。我用

QString file = QFileDialog::getOpenFileName(this->parentWidget(),
                                                tr("Open G File"),
                        "",
                        "G File (*.g)"
                        );
FILE* f= fopen((char*)(file.toLocal8Bit().data()),'w');
只要路径包含中文就会打不开,我调试发现file.toLocal8Bit().data()的中文部分是乱码。好多转换函数都用过了都不行。小弟用的是Qt5 VS2010,请不要将那些Qt4弃用的编码函数贴上来。
希望各位能帮小弟实际试一下,因为很多热心的朋友帮我出主意我都试过都不行。

http://bbs.csdn.net/topics/390649179?page=1#post-396159354



QString file = QFileDialog::getOpenFileName(this->parentWidget(),
tr("Open G File"),
"",
"G File (*.g)"
);

if(!file.isEmpty())
{
QFile open_file(file);
bool is_open = open_file.open(QFile::ReadOnly);
}
  相关解决方案