Fortran Coder

查看: 12590|回复: 9
打印 上一主题 下一主题

[文件读写] 如何在文件开始(或文件中间)插入一条记录

[复制链接]

798

帖子

2

主题

0

精华

大宗师

F 币
3793 元
贡献
2268 点
楼主
发表于 2017-7-30 08:51:36 | 显示全部楼层
本帖最后由 li913 于 2017-7-30 08:54 编辑

在文件第一行预留足够空间,比如第一行输出10个任意字符。整体输出完毕后,用流文件打开,替换先前字符。
[Fortran] 纯文本查看 复制代码
program test
character(10)::ch='' 
open(40,file='out.txt',form="formatted")
open(12, file="in.txt")
write(40,*) ch
line_num=0
 do !顺序读取
       read(12,*,iostat=ioerr) t 
       if(ioerr/=0)exit
       write(40,'(f10.2)')t
      line_num=line_num+1
  enddo
close(40); close(12)
open(40,file='out.txt',status='old',access='stream')
 write(ch,'(i10)')line_num
 write(40) ch
close(40)
 end program

评分

参与人数 1F 币 +4 贡献 +4 收起 理由
fcode + 4 + 4 不错的思路

查看全部评分

798

帖子

2

主题

0

精华

大宗师

F 币
3793 元
贡献
2268 点
沙发
发表于 2017-8-2 15:23:32 | 显示全部楼层
redasia 发表于 2017-7-31 15:11
谢谢大家,此方法可以,不需重新读写一遍,只需重新打开写入即可。但不明白其原理,难道以”stream“方式 ...

二进制文件写入,只更改相应的字符,文件其余内容不变。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-5-7 06:09

Powered by Tencent X3.4

© 2013-2024 Tencent

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