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

C语言如何把一个文本文件的某一行删除掉?
2024-12-20 11:58:29
推荐回答(3个)
回答1:

可以用c语言的fseek()函数(stdio.h),...随机读写
要知道, 一个文件打开后有一个位置指针, 指示当前读写位置..
顺序读写时, 读写一个, 系统自动把位置指针移动到下一位置...
用fseek()就可以手动更改..
用法是fseek(FILE*(文件指针),long offset(偏移量),int whence(参考位置))
参考位取值:0 文件开头, 1 当前位置, 2 文件最后..
作用就是将FILE*指定的文件的位置指针从参考位置移动offset字节
移动方向由offset的+/-决定..
另外用rewind()可以将位置指针恢复到文件头..

回答2:

不能只删除一行,需要全部读出,处理后再重新写回去,或者用fseek将需要改变的那一行之后的全部读出再写回去

回答3:

你是做通信录吗?
我也遇过类似的问题,要删除的话。
你可以用那一行的后面一行覆盖它。(直到结束)