选择自定义行结尾以Qt编写文本文件

硅法师

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

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

有没有一种方法可以设置所需的以Qt结尾的行而无需使用二进制文件模式?

库巴并没有忘记莫妮卡

不,没有。文本模式的含义是“对平台的行尾进行更改”。如果您想做其他事情,请使用二进制模式,并通过重新实现egQFile::writeData来实现转换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;
...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Java中生成自定义文本文件

来自分类Dev

文本文件中的Argparse自定义帮助

来自分类Dev

保存自定义设置文本文件的位置?

来自分类Dev

我的自定义.desktop文件在Dash中显示为文本文件

来自分类Dev

预处理自定义文本文件以使用Boost Spirit删除注释

来自分类Dev

将文本文件内容写入Java中的自定义arraylist

来自分类Dev

具有自定义格式的SSIS文本文件目标

来自分类Dev

如何使用Perl检索文本文件的自定义属性

来自分类Dev

使用Shell脚本重新排列“自定义顺序”中文本文件的列

来自分类Dev

如何使用自定义(多行)行终止符读取文本文件?

来自分类Dev

如何将产品保存到自定义文本文件?

来自分类Dev

如何在C ++中读取自定义格式的文本文件

来自分类Dev

将文本文件内容写入Java中的自定义arraylist

来自分类Dev

使用自定义名称和大小分割文本文件

来自分类Dev

使用 Bash 从自定义文本文件中提取 IP 地址

来自分类Dev

如何将自定义数据保存到文本文件?

来自分类Dev

由于UITextView中的自定义行间距,导致文本选择无法正确进行

来自分类Dev

用Erlang编写和编译自定义行为

来自分类Dev

如何通过Scala中的自定义功能对大型文本文件中的行进行排序?

来自分类Dev

使用python编写文本文件

来自分类Dev

用Java编写文本文件

来自分类Dev

将选择范围扩展到自定义行

来自分类Dev

使用 Qt 比较文本文件

来自分类Dev

写入文本文件错误,QT

来自分类Dev

选择文本文件并阅读Android

来自分类Dev

操作系统如何识别文本文件的结尾?

来自分类Dev

使git存储文本文件的CRLF行以.gitattributes结尾

来自分类Dev

重命名以数字值结尾的文本文件

来自分类Dev

检测文本文件结尾,使用fgetc读取

Related 相关文章

  1. 1

    在Java中生成自定义文本文件

  2. 2

    文本文件中的Argparse自定义帮助

  3. 3

    保存自定义设置文本文件的位置?

  4. 4

    我的自定义.desktop文件在Dash中显示为文本文件

  5. 5

    预处理自定义文本文件以使用Boost Spirit删除注释

  6. 6

    将文本文件内容写入Java中的自定义arraylist

  7. 7

    具有自定义格式的SSIS文本文件目标

  8. 8

    如何使用Perl检索文本文件的自定义属性

  9. 9

    使用Shell脚本重新排列“自定义顺序”中文本文件的列

  10. 10

    如何使用自定义(多行)行终止符读取文本文件?

  11. 11

    如何将产品保存到自定义文本文件?

  12. 12

    如何在C ++中读取自定义格式的文本文件

  13. 13

    将文本文件内容写入Java中的自定义arraylist

  14. 14

    使用自定义名称和大小分割文本文件

  15. 15

    使用 Bash 从自定义文本文件中提取 IP 地址

  16. 16

    如何将自定义数据保存到文本文件?

  17. 17

    由于UITextView中的自定义行间距,导致文本选择无法正确进行

  18. 18

    用Erlang编写和编译自定义行为

  19. 19

    如何通过Scala中的自定义功能对大型文本文件中的行进行排序?

  20. 20

    使用python编写文本文件

  21. 21

    用Java编写文本文件

  22. 22

    将选择范围扩展到自定义行

  23. 23

    使用 Qt 比较文本文件

  24. 24

    写入文本文件错误,QT

  25. 25

    选择文本文件并阅读Android

  26. 26

    操作系统如何识别文本文件的结尾?

  27. 27

    使git存储文本文件的CRLF行以.gitattributes结尾

  28. 28

    重命名以数字值结尾的文本文件

  29. 29

    检测文本文件结尾,使用fgetc读取

热门标签

归档