gpt4 book ai didi

C++多次将文本写入文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:27:57 25 4
gpt4 key购买 nike

我有一个 Qt C++ 程序可以循环处理一些数据。

它将每个数据处理结果附加到文本文件的末尾。数据处理操作放在一个循环中,因此程序可以在几秒钟内产生 800 多条结果,并将它们一一写入(即分别)。

我觉得这么多的I/O操作对电脑硬盘不是很好,所以我组织了一个数组来存放数据处理结果,当数组长度超过200时,程序追加到文件中并清理, 然后数组再次变得超过 200,依此类推。

但我不太清楚 - 真的需要吗?也许这只是 RAM 的浪费,我应该在没有这些数组(缓冲区)的情况下将数据附加到文本文件?毕竟,程序写入相同数量的数据,独立于它以何种方式写入。

最佳答案

一般来说,由于c++机制是提供buffered io的,你可以随意更改。在您的上下文中,您提到的“800 个结果”并不能说明输出数据的确切大小。所以你可能技能过高了。仅供引用,函数 ios::rdbuf() 将获得一个指向 streambuf 对象的指针,该对象表示流的内部缓冲区。然后您可以调用 streambuf::pubsetbuf(char * s, streamsize n) 来设置具有给定大小的新内部缓冲区。您还可以从 http://en.cppreference.com/w/cpp/io/basic_ios/rdbuf 中找到详细信息.

关于C++多次将文本写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16127495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com