文件修改
在不新建文件的情况下,如何直接删除文件中指定位置处的内容?例如:
旧文件a.txt,其内容为:
123
456
789
删除后,a.txt的结果:
123
789
本帖最后由 vvt 于 2023-6-3 12:05 编辑
全部读到内存,然后重新写一遍。
program fcode_cn
implicit none
integer :: a(3)
Open(11,File="a.txt")
Read(11,*) a
Rewind(11)
Write(11,"(g0)") a()
Close(11)
end program fcode_cn不仅 Fortran 只能这样,其他编程语言也是如此,包括但不限于 C/C++, PHP, golang, Delphi, VB(我是说原生的文件读写,而非封装后的库)
不仅编程语言,绝大部分成熟的文本编辑器软件,包括但不限于 windows记事本,notepad++,UltraEdit,gedit,vi,emacs,sublime Text,都是这样。
PS:倡导大家摒弃 notepad++,换成其他文本编辑器
vvt 发表于 2023-6-3 11:58
全部读到内存,然后重新写一遍。
program fcode_cn
implicit none
那对于文件末尾数据删除的也只能如此吗?
文件末尾删除数据不用这么麻烦。
program fcode_cn
implicit none
integer :: a(2)
Open(11,File="a.txt")
Read(11,*) a
endfile(11)
Close(11)
end program fcode_cn vvt 发表于 2023-6-3 12:32
文件末尾删除数据不用这么麻烦。
program fcode_cn
非常感谢:-handshake
页:
[1]