Qt中常用文件写入与读取方法总结

本文总结了Qt5框架中进行文件读写的主要方法,包括如何使用QFile、QTextStream等类进行二进制和文本文件的打开、读取、写入及关闭操作,详细讲解了相关API的用法,帮助开发者高效地处理文件操作任务。
摘要由CSDN通过智能技术生成

//! 声明:下述方法整理自网络,帮助文档以及学习总结,仅供参考交流,希望对您有用;如有错误,敬请指正!
#include <fstream>
#include <QFile>
#include <QDir>
#include <QFileDialog>
#include <QDebug>

//!<MARK A
//!==建议变量单行声明,单行赋值==//
int a = 1;
int b = 20;
int c = 3;
//!====//


//!<MARK B
//!==查询文件夹是否存在,不存在则创建(两种方法)==//
//!mkpath和mkdir的区别在于,后者创建之前必须保证上层目录存在,而前者不需要
QString path = Core::ICore::customDataPath() + "/Spc";
QDir dir(path);  //!<推荐使用
if (!dir.exists())
{
    dir.mkdir(path);
}

QString path = Core::ICore::customDataPath() + "/Spc";
QDir *filePath = new QDir();  //!<实例化对象,为指针
if (!filePath->exists(path))
    filePath->mkdir(path);
//!====//


//!<MARK C
//!==检查指定文件是否存在==//
QString pathDir = Core::ICore::customDataPath() + "/vision/ROI/Driect.dat";
QFile directFile(pathDir);
if (!directFile.exists())   //!<验证文件是否存在
    WARNING(u8"方向标识配置文件不存在,无法判定产品方向!");
//!====//


//!<MARK D
//!==通过文件对话框将文件保存到指定路径==//
//    QString filters = "(*.bmp | *.jpg)";
//    filters << "*.bmp" << "*.jpg" << "*.png";
//    filters = tr("Text Files (*.txt);;C++ Files (*.cpp *.h)")
//    QString fileName = QFileDialog::getSaveFileName(this, u8"Save File", QString(), filters);
QImage m_resultImage;
QString fileName = QFileDialog::getSaveFileName(this, u8"Save File", QString(), "*.bmp");
QString fileName = QFileDialog::getSaveFileName(this, u8"Save File", QString(), filters);
if (fileName.isEmpty())
{
    QMessageBox msgBox(QMessageBox::Warning, u8"警告:", u8"文件名为空!");
    msgBox.exec();
    return;
} else if (m_resultImage.isNull())
{
    QMessageBox msgBox(QMessageBox::Warning, u8"警告:", u8"图像内容为空!");
    //        msgBox.setIcon(QMessageBox::Warning);
    //        msgBox.setText(u8"文件名为空!    ");
    msgBox
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值