c语言 文件字符替换,如何在C中替换文本文件中间的行?

本文探讨了在不使用固定长度记录的情况下,直接替换文件中间部分信息的技术挑战,并提出了使用数据库作为替代方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我正在从txt文件中读取信息(数字),然后将这些数字添加到另一个文件中,而其他数字则具有相同的结构。

文件中每行的开头都有一个数字,用于标识特定的产品。 该代码将使我可以在另一个文件中搜索相同的产品。 在我的程序中,我必须将一个文件中的其他"变量"添加到另一个文件中,然后在其中一个文件的同一位置替换它。

我没有使用a或a+打开任何这些文件,而是使用r和r+打开了这些文件,因为我想替换文件中间可能存在的行中的信息,并且 并非最后。

该程序可以编译并运行,但是当要替换文件中的信息时,它什么也没做。

我应该如何解决该问题?

发布一些代码。 但总的来说,除非文件使用固定长度的记录,否则您根本无法做到这一点。

使用数据库而不是平面文件。

r并不意味着替换,而是读取。

程序可以替换(覆盖)文件中间的文本。 但是问题是是否应该执行此操作。

为了插入较大的文本或较小的文本(并缩小间隙),必须写入新的文本文件。 这是假设文件的宽度不是固定的。 基本规则是在插入之前将所有原始文本复制到新文件中。 编写新文本。 最后写剩下的原始文本。 这是很多工作,即使是最简单的程序也会减慢速度。

我建议您先设计数据布局,然后再进行下一步。 还可以考虑使用数据库,请参阅我的文章:在什么时候使用数据库值得?

您的目标是设计数据以最大程度地减少重复和数据提取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值