C语言如何把一个文本文件的某一行删除掉?

C语言如何把一个文本文件的某一行删除掉?,第1张

可以用c语言的fseek()函数(stdio.h),...随机读写

要知道, 一团者个文件打开后有散顷一个位置指针, 指示当前读写位置..

顺序读写时, 读写一个, 系统自动把位冲或陆置指针移动到下一位置...

用fseek()就可以手动更改..

用法是fseek(FILE*(文件指针),long offset(偏移量),int whence(参考位置))

参考位取值:0 文件开头, 1 当前位置, 2 文件最后..

作用就是将FILE*指定的文件的位置指针从参考位置移动offset字节

移动方向由offset的+/-决定..

另外用rewind()可以将位置指针恢复到文件头..

整体思路如下:

首先,找到找到要删除的那一行的漏首行号,假如是j行,然后把指向文件的指针定位到j+1行处(可以使用fseek函数,Linux下可以使用lseek函数);

读取一行(此时的文件指针已到达改行的末丛银尾处,也可以认为是到了下一行的开始处),再把文件指返郑数针定位到j行,把刚才读出的再写会,使用循环直至文件结束。

简单的说就是把后面的每一行一行一行的读出,再一行一行的写到前面一行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8199494.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存