ofstream创建文档失败
ofstream f(dir_txt.toStdString());
if(f.is_open())
{
for(int i=0;i<640;i++)
{
for(int j=0;j<480;j++)
{
f<<Erg_2DArray[i][j];
f<<";";
}
f<<"\n";
}
f.close();
代码如上,在学校电脑上运行的很好,在自己的电脑上运行的不行。。
其中的dir_txt一开始是QString,为qt中的类,通过toStdString()转换成了标准的String。。。
dir_txt用的相对路径
难道是因为学校的电脑文件夹都是英文,到了我自己的电脑上,文件夹包含了中文,就用不了了?
求指点。。。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
QString
内部是Unicode
的,用toStdString
会调用QTextCodec::codecForCStrings
来处理(QT4
),所以需要设置C风格字符串的默认locale
,用setCodecForCStrings
Qt5的话,删掉了
codecForCStrings
,默认以Latin-1
处理,所有的中文字符都会丢失。所以最简单的解决办法,不要用
ofstream
,用QFile