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用的相对路径
难道是因为学校的电脑文件夹都是英文,到了我自己的电脑上,文件夹包含了中文,就用不了了?
求指点。。。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
QString内部是Unicode的,用toStdString会调用QTextCodec::codecForCStrings来处理(QT4),所以需要设置C风格字符串的默认locale,用setCodecForCStringsQt5的话,删掉了
codecForCStrings,默认以Latin-1处理,所有的中文字符都会丢失。所以最简单的解决办法,不要用
ofstream,用QFile