gpt4 book ai didi

c - 有什么基本方法可以从打开的文件中删除某些内容

转载 作者:行者123 更新时间:2023-12-04 09:26:33 24 4
gpt4 key购买 nike

当您使用 fopen 打开 .txt 文件时有没有什么办法可以在不重写的情况下删除文件中的一些字符串。

例如,这是我将使用 fopen() 打开的 txt 文件;

-------------
1 some string
2 SOME string
3 some STRING
-------------

我想删除第一个字符为 2 的行并将其更改为

-------------
1 some string
3 some STRING
-------------

我的解决方案是;首先读取所有数据并将它们保存在字符串变量中。然后用 w 模式打开同一个文件。并再次写入除第 2 行之外的数据。(但这不合逻辑,我正在寻找 C 中更简单的方法......)(我希望我的英语没有问题)

最佳答案

最简单的方法可能是使用mmap 对整个文件进行内存映射。使用 mmap,您可以访问作为长内存缓冲区的文件,您可以修改它,并将更改反射(reflect)在磁盘上。然后你可以找到该行的偏移量并将文件的整个尾部移动很多字节以覆盖该行。

关于c - 有什么基本方法可以从打开的文件中删除某些内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1311683/

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