Fortran Coder

查看: 2000|回复: 4
打印 上一主题 下一主题

[文件读写] 文件修改

[复制链接]

4

帖子

2

主题

0

精华

新人

F 币
26 元
贡献
10 点
跳转到指定楼层
楼主
发表于 2023-6-3 11:45:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在不新建文件的情况下,如何直接删除文件中指定位置处的内容?
例如:
旧文件a.txt,其内容为:
123
456
789

删除后,a.txt的结果:
123
789


分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
沙发
发表于 2023-6-3 11:58:49 | 只看该作者
本帖最后由 vvt 于 2023-6-3 12:05 编辑

全部读到内存,然后重新写一遍。
[Fortran] 纯文本查看 复制代码
program fcode_cn
  implicit none
  integer :: a(3)
  Open(11,File="a.txt")
  Read(11,*) a
  Rewind(11)
  Write(11,"(g0)") a([1,3])
  Close(11)
end program fcode_cn
不仅 Fortran 只能这样,其他编程语言也是如此,包括但不限于 C/C++, PHP, golang, Delphi, VB(我是说原生的文件读写,而非封装后的库)

不仅编程语言,绝大部分成熟的文本编辑器软件,包括但不限于 windows记事本,notepad++,UltraEdit,gedit,vi,emacs,sublime Text,都是这样。

PS:倡导大家摒弃 notepad++,换成其他文本编辑器

4

帖子

2

主题

0

精华

新人

F 币
26 元
贡献
10 点
板凳
 楼主| 发表于 2023-6-3 12:30:17 | 只看该作者
vvt 发表于 2023-6-3 11:58
全部读到内存,然后重新写一遍。
[mw_shl_code=fortran,true]program fcode_cn
  implicit none

那对于文件末尾数据删除的也只能如此吗?

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
地板
发表于 2023-6-3 12:32:58 | 只看该作者
文件末尾删除数据不用这么麻烦。

[Fortran] 纯文本查看 复制代码
program fcode_cn
  implicit none
  integer :: a(2)
  Open(11,File="a.txt")
  Read(11,*) a
  endfile(11)
  Close(11)
end program fcode_cn

4

帖子

2

主题

0

精华

新人

F 币
26 元
贡献
10 点
5#
 楼主| 发表于 2023-6-3 20:32:14 | 只看该作者
vvt 发表于 2023-6-3 12:32
文件末尾删除数据不用这么麻烦。

[mw_shl_code=fortran,true]program fcode_cn

非常感谢
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-11-23 10:30

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表