Fortran Coder

查看: 269|回复: 2

[文件读写] 如何获得指定字符串的行数?

[复制链接]

2

帖子

1

主题

0

精华

新人

F 币
23 元
贡献
11 点
发表于 2016-12-26 11:29:26 | 显示全部楼层 |阅读模式
比如一个文件有300行,在中间有一行是“aa bbbb”,其中aa在整个文件中只出现过一次,我想获得“aa bbbb”是文件的第多少行。
我有一个想法是:
打开文件
获得文件的总行数nline
do i=1, nline
  用index找aa,如果找到,则循环结束
end do
那么此时的i就是我要的结果

我想请教一下有没有什么函数能直接或者更简洁的实现这个目的?

另外还有一个问题,subroutine中如果读取了很多数组,这些数组没有被传递,当subroutine返回的时候,这些数组所在内存有没有被释放?

先行感谢!




回复

使用道具 举报

1126

帖子

12

主题

5

精华

论坛跑堂

Fcode跑堂

F 币
975 元
贡献
820 点

新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

发表于 2016-12-26 18:54:02 | 显示全部楼层
1. 没有更便捷的函数可以实现这个功能了。
2. 非save属性的局部变量数组会自动释放。allocatable 的局部变量数组也会被自动释放。分配的指针数组不会释放。

2

帖子

1

主题

0

精华

新人

F 币
23 元
贡献
11 点
 楼主| 发表于 2016-12-26 21:28:16 | 显示全部楼层
了解了,非常感谢。
我对指针还不是很了解,正好程序要简单的调用一下Matlab,之后会再仔细学习下的~
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

QQ|捐赠本站|Archiver|关于我们 About Us|QQ群|Fcode

GMT+8, 2017-10-19 16:50

Powered by Discuz! X3.2

© 2001-2017 Comsenz Inc.

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