24小时热门版块排行榜    

查看: 1250  |  回复: 8

mplanck

至尊木虫 (职业作家)

之上又是啥子虫虫?

[交流] 【求助】怎么在文件尾行读写数据?【已完结】 已有3人参与

已知文件A,行数未知。现在想跳到文件最后一行读写数据,怎样实现?
有没有类似rewind这样的指令(注:rewind是回绕至文件初始点命令)
请虫虫们不吝赐教,谢谢!


ps:刚才金币发放设置错了,希望回帖的虫虫言中要害,谢谢!

[ Last edited by 余泽成 on 2010-9-13 at 22:28 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

不知不觉过2W了!那向3W挺进~~
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

maomao1210

金虫 (正式写手)


mplanck(金币+5):谢谢参与
引用回帖:
Originally posted by mplanck at 2010-09-11 10:59:29:
已知文件A,行数未知。现在想跳到文件最后一行读写数据,怎样实现?
有没有类似rewind这样的指令(注:rewind是回绕至文件初始点命令)
请虫虫们不吝赐教,谢谢!


ps:刚才金币发放设置错了,希望回帖的虫虫 ...

implicit real*8(a-h,o-z)

      open(unit=10,file='li.txt',status='old')

1     Read(10,*,end=2)
      Goto 1

2     backspace 10
      backspace 10             

      read(10,*) a  ! 最后一行你要读的数据,具体格式参考你的文件数据而定。
      write(*,*) a

      End

[ Last edited by maomao1210 on 2010-9-11 at 18:31 ]
2楼2010-09-11 18:29:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mplanck

至尊木虫 (职业作家)

之上又是啥子虫虫?

引用回帖:
Originally posted by maomao1210 at 2010-09-11 18:29:18:

      implicit real*8(a-h,o-z)

      open(unit=10,file='li.txt',status='old')

1     Read(10,*,end=2)
      Goto 1

2     backspace 10
      backspace 10             

      read(10,*) a  !  ...

这办法不错,非常感谢!难道真没有一个指令呀?
不知不觉过2W了!那向3W挺进~~
3楼2010-09-11 18:49:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

maomao1210

金虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
引用回帖:
Originally posted by mplanck at 2010-09-11 18:49:03:



这办法不错,非常感谢!难道真没有一个指令呀?

应该有,可惜我不知道呀
4楼2010-09-11 20:52:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
nono2009(金币+1):鼓励应助。 2010-09-12 07:17:13
读我不知道如何做,但写应该很简单吧,用 open 中的 append 模式应该就可以……
5楼2010-09-11 21:52:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mplanck

至尊木虫 (职业作家)

之上又是啥子虫虫?

引用回帖:
Originally posted by snoopyzhao at 2010-09-11 21:52:45:
读我不知道如何做,但写应该很简单吧,用 open 中的 append 模式应该就可以……

搜索fortran帮助文件,看到open的所有供选参数如下:ACCESS CONVERT MODE RECORDTYPE ACTION DEFAULTFILE NAME SHARE ASSOCIATEVARIABLE DELIM ORGANIZATION SHARED
BLANK DISPOSE PAD STATUS  BLOCKSIZE FILE POSITION TITLE
BUFFERCOUNT FORM READONLY TYPE  BUFFERED IOFOCUS RECL USEROPEN CARRIAGECONTROL MAXREC RECORDSIZE   
就是没看到append
不知不觉过2W了!那向3W挺进~~
6楼2010-09-13 16:26:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)


小木虫(金币+0.5):给个红包,谢谢回帖交流
引用回帖:
Originally posted by mplanck at 2010-09-13 16:26:31:

搜索fortran帮助文件,看到open的所有供选参数如下:ACCESS CONVERT MODE RECORDTYPE ACTION DEFAULTFILE NAME SHARE ASSOCIATEVARIABLE DELIM ORGANIZATION SHARED
BLANK DISPOSE PAD STATUS  BLOCKSIZE FIL ...

又查了一下,append 应该是一个扩展的选项,不同的编译器可能不一样……有的在 access 这个选项下,也有的在 position 这个选项下,还有可能没有……
7楼2010-09-13 20:16:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

maomao1210

金虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
引用回帖:
Originally posted by snoopyzhao at 2010-09-13 20:16:55:



又查了一下,append 应该是一个扩展的选项,不同的编译器可能不一样……有的在 access 这个选项下,也有的在 position 这个选项下,还有可能没有……

8楼2010-09-13 21:49:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mplanck

至尊木虫 (职业作家)

之上又是啥子虫虫?

引用回帖:
Originally posted by snoopyzhao at 2010-09-13 20:16:55:



又查了一下,append 应该是一个扩展的选项,不同的编译器可能不一样……有的在 access 这个选项下,也有的在 position 这个选项下,还有可能没有……

非常感谢你的提示,最终用position='append'实现了!
(改成access, 编译过程中说backspace 有错,没搞懂)
代码如下贴上,供其它需要的虫虫参考:
---------------------------------------------------------
        character*70 lineword
                open (9,file='openfile,position='append')
        backspace 9
        read (9, '(A70)') lineword
        write(*, '(A70)') lineword
                close(9)
        end
----------------------------------------------------------
不知不觉过2W了!那向3W挺进~~
9楼2010-09-13 21:54:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 mplanck 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见