选择 Qt 写入文本文件的自定义行结尾

2024-03-27

在 Qt 中写入文本文件时(使用 QFile 和 QTextStream),任何\n or endl自动转换为正确的平台特定行结尾(例如\r\n对于 Windows)。

我想让用户选择使用哪个文件结尾。

有没有办法在不使用二进制文件模式的情况下设置以 Qt 结尾的所需行?


不,没有。文本模式的含义是“对平台的这些进行行结束更改”。如果您想做其他任何事情,请使用二进制模式,并通过重新实现例如来实现转换QFile::writeData and QFile::readData.

template <class Base> class TextFile : public Base {
  QByteArray m_ending;
  qint64 writeData(const char * data, qint64 maxSize) override {
    Q_ASSERT(maxSize <= std::numeric_limits<int>::max());
    QByteArray buf{data, maxSize};
    buf.replace("\n", m_ending.constData());
    auto len = Base::writeData(buf.constData(), buf.size());
    if (len != buf.size()) {
      // QFile/QSaveFile won't ever return a partial size, since the user
      // such as `QDataStream` can't cope with it.
      if (len != -1) qWarning() << "partial writeData() is not supported for files";
      return -1; 
    }
    return len;
  }
  ...
}

TextFile<QFile> myFile;
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

选择 Qt 写入文本文件的自定义行结尾 的相关文章

  • pthread_create 编译返回错误

    我使用以下代码创建两个线程 header files include
  • 使用参数将数据插入access数据库

    我有以下方法将数据插入到访问数据库中 该方法工作正常 但如果我尝试插入包含我学到的单引号的文本 我确实会遇到问题 WebMethod public void bookRatedAdd string title int rating stri
  • 如何在 Google 日历中创建“recurData”?

    我想使用 Google API 创建日历的重复事件 我正在关注链接 谷歌日历API http code google com apis calendar data 2 0 developers guide dotnet html Creat
  • 如何修改道路网络的 L 系统?

    向大家问好 我目前正在研究道路网络的程序生成 并偶然发现了 L 系统算法 根据我从有关该主题的各种科学论文以及有关该主题的论文的进一步论文中了解到 算法更改为使用 全局目标和局部约束 其中修改所采取的路径以适应地形等输入值和人口密度 现在我
  • 使用 Xlib 捕获鼠标

    我想编写一个简单的 Xlib 程序来改变鼠标行为 举个例子 反转垂直移动 我在捕获事件时遇到问题 我想要代码 捕获控制器位置的变化 我向上移动鼠标 MotionEvent 计算新的光标位置 new x difference x 设置新的光标
  • 使用 JsonWriter 时,WriteStartConstructor 的用途是什么?

    标题说明了一切 我看到它 及其相应的结尾 吐出以下内容 new Foo 但我不明白什么new实际上是在反序列化时执行的 文档只是说它编写了一个 Json 构造函数 但没有说 Json 构造函数是什么is 此方法是作为增强功能的一部分引入的
  • 无法使用 process.ErrorDataReceived c# 获取进程错误输出

    我已经建立了Form我使用了一段时间的应用程序 现在我想捕捉StandardError我的流程及其standartOutput 我查看了答案SO and MSDN https msdn microsoft com en us library
  • C# - 获取 GPU 的总使用百分比

    我正在向我的程序添加一些新功能 这些功能当前通过串行连接将 CPU 使用情况和 RAM 使用情况发送到 Arduino 请参阅this https create arduino cc projecthub thesahilsaluja cp
  • 如何以编程方式区分不同的 IOException?

    我正在对写入 Process 对象的 StandardInput 流的代码进行一些异常处理 Process 有点像 unix head 命令 它只读取输入流的一部分 当进程终止时 写入线程会失败并显示 IOException The pip
  • Windows 消息

    我需要发送带有自定义 ID 的自定义 Windows 消息 其他应用程序将侦听该消息 Windows 是否为内部消息保留任何预定义的消息 ID 范围 如 SQL Server 那样 内部消息最多为 50 000 The 文档 https m
  • 可变长度数组性能影响 (C/C++)

    我正在编写一个相当简单的函数 它将数组发送到文件描述符 但是 为了发送数据 我需要附加一个一字节标头 这是我正在做的事情的简化版本 它似乎有效 void SendData uint8 t buffer size t length uint8
  • File.Delete 进程无法访问该文件,因为该文件正在被另一个进程使用

    public bool DownloadMp3File DownloadedMp3 mp3 WebClient client new WebClient string filePath bool wasDownload false try
  • 使用 ASP.NET Core Identity 将令牌保存在 Cookie 中

    我想在我的 身份 生成的 cookie 中保存一些内容 我目前正在使用文档中的默认身份设置 启动 cs services Configure
  • IBM Rhapsody 中状态图终止连接器的理解

    在IBM Rhapsody中 如果我使用new创建了一个类的实例 那么我们是否必须通过调用delete来处理内存的释放 或者Termination Connector将在其状态图中通过内存释放来处理其销毁 如果您使用 C 和 OXF 对象执
  • MVC Razor for 循环

    我有这段代码 嵌套在表单帖子内 但我不断收到错误 它缺少结束语 for int i 0 i lt itemsCount i
  • 如何从 .NET DataGridView 控件单元格值写入文本文件?

    我有以下代码应该循环遍历我的所有行DataGridView 并将其所有单元格值写入文本文件 但是 它输出所有行 但仅输出每行的第一个单元格 而不输出其他三个单元格 string file name C test1 txt var objWr
  • 绑定到外部库中基本方法的方法无法处理“之间”的新虚拟方法

    假设我有一个库 版本 1 0 0 包含以下内容 public class Class1 public virtual void Test Console WriteLine Library Class1 Test Console Write
  • 将 tiff 像素长宽比更改为正方形

    我正在尝试对多页 tiff 文件执行条形码识别 但是 tiff 文件是从传真服务器 我无法控制 发送给我的 该服务器以非方形像素长宽比保存 tiff 这导致图像由于纵横比而被严重挤压 我需要将 tiff 转换为方形像素长宽比 但不知道如何在
  • Security.h 中结构的 macOS 文档

    我正在尝试使用Security h通过 Java 和 JNA 的 macOS 框架 这意味着我需要将某些结构重建为 Java 类 问题是 当我查看文档中的结构时 this one https developer apple com refe
  • C++ 模板类问题中的类型条件

    使用海湾合作委员会4 2 我有这个条件类型的元模板 template

随机推荐

  • Regex.Escape 的目的是什么?

    我有如下代码 其中 QualifiedInstanceFilter 是合格实例过滤器的访问器 谁能告诉我 m afc QualifiedInstanceFilter Regex Escape this Identifier 行中发生的逻辑是
  • 更改字体大小而不弄乱 Tkinter 按钮大小

    我遇到麻烦了更改按钮的字体大小在 Tkinter 中 当我尝试这样做时该按钮还可以展开 收缩基于文本的大小 有没有办法可以通过固定按钮的大小来改变文本大小 我在设计 tic tac toe 应用程序时遇到了这个问题 但是为了省去你的麻烦 这
  • 如何在 IE8 中转储 JavaScript 变量?

    我有一个需要在 IE8 中检查的对象 我尝试了开发者工具console log 他们的 Firebug 等价物 但是 当我将对象输出到日志时 console log Element element console log element 我
  • 如何在 SQL Server 中拆分分隔字符串而不创建函数?

    我正在使用 SQL Server 数据库 我有一列包含分隔列表 我需要编写一个查询 将列表的值拆分为行 通过浏览 StackOverflow 和网络的其他部分 我知道这是一个常见问题 事实上 我在这里找到了广泛的分析 http www so
  • ILGenerator 是否有一个好的包装器? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 通过pdb调试djcelery的celeryd

    有人尝试过使用 pdb 调试 celeryd 工作程序吗 每当遇到断点 通过 pdb 运行 celeryd 或者通过pdb set trace 我遇到了以下错误 Error while handling action event Trace
  • 间歇性地从 LinkedIn API 收到 999 请求被拒绝。原因代码1,2,1指的是什么

    在过去的两天里 两个不同的 LinkedIn 应用程序 开始间歇性地收到 999 请求被拒绝的错误 除此之外 我收到 reason code 1 2 1 作为标题 具体来说 这是从 oAuth 过程的第三步 与https www linke
  • R randomForest子集无法摆脱因子水平[重复]

    这个问题在这里已经有答案了 可能的重复 删除 R 中子集数据框中的因子级别 https stackoverflow com questions 1195826 dropping factor levels in a subsetted da
  • 计算 Google Sheets 脚本中的粗体单元格数量

    所以 说实话 我并不是一个编码员 但我已经设法通过计算单元格背景颜色来摸索 但努力让它适用于计算字体为粗体的单元格 我在下面详细介绍了我的函数 其中仅计算了 6 个具有粗体字体样式的单元格 但有 13 个具有粗体字体样式的单元格 funct
  • 相对时间序列

    我正在寻找一种标准化的方法来按相对时间排列数据 应用程序包括会计数据 例如 FY1 FY2 等 和经济数据 例如使用 1 年 2 年 3 年等的利率期限结构 我希望能够比较当前的一组时间序列数据和代表类似情况或历史规范的几个历史时间序列集
  • 立即处理至 App Store 后下架

    我的应用程序之前已下架 更新获得批准后 我在 10 分钟内收到了 3 封有关状态的电子邮件 1 处理至App Store 2 准备出售 3 停止销售 在 准备销售 状态之后 状态立即更改为 已从销售中删除 我联系了苹果公司 她说一旦应用程序
  • JavaScript XMLHttpRequest“网络错误”

    一般来说 我在 javascript 和 Web 开发方面缺乏经验 我正在从事的项目是一般公司培训计划的一部分 我们被指示使用 Google Chrome 作为主要测试浏览器 本质上 我正在编写一个将在公司内部网外部的客户端上运行的应用程序
  • 使用 Spark Web 框架时如何使用原生 Servlet Filter?

    我正在玩Spark http sparkjava com Java Web 框架 而不是 Apache Spark 我发现定义路由和过滤器非常好且容易 但是我希望将本机 servlet 过滤器应用于我的路由 但似乎找不到方法来做到这一点 更
  • 警告:preg_replace():未知修饰符“g”

    我遇到这个正则表达式错误 strTmp preg replace lt CharacterStyleRange gt n gim strTmp Error Warning preg replace 未知修饰符 g in Why g是隐含的p
  • 用于面部识别和标记的 Delphi 组件

    是否有任何好的组件 免费或商业 可用于 Delphi 我使用 Delphi 2009 使我能够轻松实现面部检测和标记照片 即图形 图像 中的面部 我需要做一些类似于 Google Picasa 网络相册可以做的事情 但是是在我的应用程序中进
  • 如何用Java实现子集和问题

    有谁知道如何通过这个伪代码在Java中实现子集和问题 w an array of positive integers sorted in non decreasing order W the target sum value include
  • 自动 AWS DynamoDB 到 S3 导出失败,并显示“role/DataPipelineDefaultRole 无效”

    严格按照以下说明进行操作这一页 http docs aws amazon com amazondynamodb latest developerguide DataPipelineExportImport Exporting html我正在
  • Angular:更改输入事件的值

    我有文本区域 我尝试将值的宽度限制为 10 个符号 我正在尝试削减价值input事件
  • 如何在我的 Webpack sass-loader 配置中指定包含 SCSS 的资源根?

    假设我有类似的东西 test scss exclude node modules loaders style loader css loader sass loader 在我的 webpack 配置中 我有一个app 包含我所有 SCSS
  • 选择 Qt 写入文本文件的自定义行结尾

    在 Qt 中写入文本文件时 使用 QFile 和 QTextStream 任何 n or endl自动转换为正确的平台特定行结尾 例如 r n对于 Windows 我想让用户选择使用哪个文件结尾 有没有办法在不使用二进制文件模式的情况下设置