hellokandy
解决方法用QTextStream来读写文本
QTextStream in(&file);
in.setCodec("UTF-8"); // 设置文件的编码格式为UTF-8
QString line = in.readLine(); // 此时以UTF-8的方式从文件中读取内容,结果正常
《文件IO操作开发笔记(一):使用Qt的QFile对磁盘文件存储进行性能测试以及测试工具》
https://hpzwl.blog.csdn.net/article/details/128438303
在做到个别项目对日志要求较高,要求并行写入的数据较多,尽管写入数据的线程放在子线程,仍然会造成界面程序的假死(实际上Qt还是在跑
Qt5.9开发的文件编码转换。该工具我用来在Windows7下面VS2015编译器与MinGW编译器编码转换。MinGW编译器使用UTF-8编码,VS2015使用GB2312编码。
预编译头文件缺失,将头文件替换为
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
19 QFile文件读写操作19.1 前期准备19.1.1 项目创建19.1.2 界面搭建19.2 QFile文件读写19.2.1 QFile文件读操作19.2.2 QFile文件写操作19.3 QFileInfo文件信息
代码资源:https://download.csdn.net/download/qq_36926037/85060408
19.1 前期准备
19.1.1 项目创建
创建项目,详细过程步骤:https://blog.csdn.net/qq_36926037/article/de
(1)源文件“main.cpp”的具体实现代码如下:
其中,
(a) if(data.open(QFile::WriteOnly|QFile::Truncate)):参数QFile::Truncate表示将原来文件中的内容清空。输出时将格式设为左对齐,占10个字符位置。
(b) out<<QObject::tr("score:")<<qSetFieldWidth(10)<<left<<90<<endl:用户使用格式化函数和流操作符设置需要的输出格式。其中,qSetFieldWidth()函数是设置字段宽度的格式化函数。除此之外,QTextStream还提供了其他一些格式化函数,见表9.1。
直接上代码,函数主要是SumatraPDF配置文件中的语言
void XXXApi::ChangeSumatraPDFSettingFileUiLanguage(const QString &file_name, const QString &des_lan)
//SumatraPDF支持命令行切换语言,但实际运行效果不稳定,所以通过修改配置文件来切换SumatraPDF语言。
QFile txt_file(file_name);
bool bopenfile = txt_file
QFile* m_pLogFile;
m_pLogFile = new QFile("./log.txt");
QString msgStr = "中文";
QString msgStr2 = ChString("test result2");
QString msgStr3 = QStringLiteral("中文3");
m_pLog...
#include <QByteArray>
void convertFileEncoding(const QString& filePath, const QString& fromEncoding, const QString& toEncoding)
QFile file(filePath);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
qDebug() << "Failed to open file: " << file.errorString();
return;
QByteArray data = file.readAll();
file.close();
QTextCodec* fromCodec = QTextCodec::codecForName(fromEncoding.toUtf8());
QTextCodec* toCodec = QTextCodec::codecForName(toEncoding.toUtf8());
QString str = fromCodec->toUnicode(data);
QByteArray utf8Data = toCodec->fromUnicode(str);
if (file.open(QIODevice::WriteOnly | QIODevice::Text))
file.write(utf8Data);
file.close();
qDebug() << "File encoding converted successfully.";
qDebug() << "Failed to open file: " << file.errorString();
你可以调用 `convertFileEncoding` 函数来实现将指定路径的文件从指定的编码格式转换为UTF-8编码。需要传入文件路径、源编码格式和目标编码格式作为参数。
注意:在使用该代码之前,请确保你已经包含了相应的头文件并链接了Qt的核心模块。
LogProperty:Error:FStructProperty::Serialize Loading:Property‘StructProperty/‘ Unknown structure
UE4中无法保存项目问题
在UE4虚幻引擎中加入导航网格体边界体积后丧尸不能移动和发现玩家