c++ - 在 C++ 中编辑大文件的第一行

标签 c++

是否有任何“快速”方法可以在 C++ 中编辑大文件(~100Mg)的第一行?

我知道我们可以逐行读取文件,进行更改,将其写入临时文件,然后重命名临时文件。但是,我想知道是否有更快的方法来执行此操作(例如就地修改)?

最佳答案

您可以使用 fwrite/fprintf 文件操作方法来根据文件指针的位置写入文件。

您使用fopen打开文件进行追加,在开头使用fseek并写入您需要的内容。但是,您应该注意第一行的长度。如果您写的内容少于原始行,您仍然会留下多余的内容。如果您写得更多,您将覆盖其他内容。

关于c++ - 在 C++ 中编辑大文件的第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31061668/

相关文章:

c++ - 在 boost::property_tree 中添加 boost::any 可能吗?

c++ - Binutils ld 链接器如何配置仿真模式(使用 mingw 构建后不支持仿真)

c++ - 使用范围运算符访问非静态成员变量

c++ - itoa函数问题

c++ - 与 lambda 成对 vector 的 lower_bound

c++ - Wininet 给出链接器错误我正在使用 devc++

c++ - std::thread 在 vc++ 的析构函数中获取中止异常

c++ - C++ 程序和 cmd 控制台之间的管道

c++ - std::normal_distribution<int> 运行时错误 "Integer division by zero"

c++ - 使用表达式 : how to minimize runtime construction time