版块导航
正在加载中...
客户端APP下载
论文辅导
申博辅导
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(919)
>
导师招生
(55)
>
虫友互识
(53)
>
招聘信息布告栏
(18)
>
博后之家
(14)
>
硕博家园
(14)
>
考博
(14)
>
公派出国
(14)
>
考研
(10)
>
论文道贺祈福
(9)
>
教师之家
(7)
>
找工作
(7)
>
论文投稿
(7)
>
基金申请
(6)
>
计算模拟
(4)
>
育儿交流
(3)
小木虫论坛-学术科研互动平台
»
计算模拟区
»
程序语言
»
Fortran
»
Fortran如何读取不确定行数的数据
4
1/1
返回列表
查看: 2297 | 回复: 3
只看楼主
@他人
存档
新回复提醒
(忽略)
收藏
在APP中查看
lwingkei
禁虫
(小有名气)
本帖内容被屏蔽
» 猜你喜欢
孩子确诊有中度注意力缺陷
已经有12人回复
2025冷门绝学什么时候出结果
已经有3人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有4人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
AI论文写作工具:是科研加速器还是学术作弊器?
已经有3人回复
2026博士申请-功能高分子,水凝胶方向
已经有6人回复
论文投稿,期刊推荐
已经有4人回复
硕士和导师闹得不愉快
已经有13人回复
请问2026国家基金面上项目会启动申2停1吗
已经有5人回复
同一篇文章,用不同账号投稿对编辑决定是否送审有没有影响?
已经有3人回复
» 本主题相关价值贴推荐,对您同样有帮助:
如何安装FORTRAN软件
已经有23人回复
Fortran输出二进制数据,用matlab读出,结果出错,求助问题何在?
已经有4人回复
如何用Fortran 计算三维曲面的数据
已经有3人回复
求助!fortran编程实现从txt中一一对应读入数据
已经有6人回复
用Fortran编写程序输出的数据一般用什么程序作图比较好?
已经有28人回复
FORTRAN中如何实现重复读取一行?
已经有24人回复
fortran,带字符的数据读取与存储!
已经有11人回复
fortran中如何处理字符和数据混合的文件
已经有6人回复
Fortran数据读入格式的修改
已经有5人回复
fortran中到底该如何比较两个实数是否相等
已经有8人回复
Fortran如何读取数据避开空行?
已经有7人回复
fortran中如何求奇点在边界的积分~~
已经有5人回复
【求助】matlab数据导入Fortran
已经有9人回复
【求助】如何写FORTRAN程序实现求平均最近邻距离
已经有34人回复
【求助】FORTRAN读取文本文件
已经有9人回复
【求助】fortran中怎么存储不确定长度的数据【已完结】
已经有6人回复
【求助】matlab读取fortran输出的txt文件【已解决】
已经有3人回复
1楼
2014-04-16 09:30:31
已阅
关注TA
给TA发消息
送TA红花
TA的回帖
zeppe
金虫
(小有名气)
应助: 15
(小学生)
金币: 3901.3
散金: 58
红花: 4
帖子: 205
在线: 254.1小时
虫号: 573594
注册: 2008-06-14
性别: GG
专业: 理论和计算化学
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
lwingkei: 金币+10,
★★★★★
最佳答案, 很好,回头好好研究一下修改一下再用
2014-04-16 17:10:04
可以根据特征字符串所在行来定义flag进行限制,例如可以以"DM1"这个字符串所在行为起始行,以"DM2"这个字符串所在行为结束行,读入这之间的数据。其他DM3,...都类似的。
下面是读取"DM1"和"DM2"之间的数据的代码。
CODE:
! read a formatted file, see "example.txt"
program TestReadFile
implicit none
character (len=80) :: filename
integer, parameter :: fileunit=15
logical :: bExist, bDM1, bDM2
integer :: iOK, pos1, pos2
character (len=80) :: line
real :: var1, var2, var3
! name of input file
filename="example.txt"
! check if file exist
inquire (file=filename, exist=bExist)
if (bExist) then
else
print *, filename, " not found!"
stop
endif
! open file
open (unit=fileunit, file=filename, status='old', iostat=iOK)
if (iOK /= 0) then
print *, "can't open ", filename
stop
endif
! read file line by line
do while (iOK == 0)
read (fileunit, "(A)", iostat=iOK) line
! if line starts with "DM1"
pos1=index(line, "DM1")
if (pos1 == 1) then
bDM1=.true.
continue
endif
! if line starts with "DM2"
pos2=index(line, "DM2")
if (pos2 == 1) then
bDM1=.false.
bDM2=.true.
continue
endif
! if in the 'DM1' block, read variables
if ((bDM1) .and. (pos1 /= 1)) then
read (line, *)var1, var2, var3
print *, var1, var2, var3
endif
enddo
! close file
close (fileunit)
end program TestReadFile
赞
一下
回复此楼
2楼
2014-04-16 13:07:31
已阅
关注TA
给TA发消息
送TA红花
TA的回帖
zeppe
金虫
(小有名气)
应助: 15
(小学生)
金币: 3901.3
散金: 58
红花: 4
帖子: 205
在线: 254.1小时
虫号: 573594
注册: 2008-06-14
性别: GG
专业: 理论和计算化学
【答案】应助回帖
example.txt内容如下
DM1:
0.02 -1.3 2.40
1.50 -0.1 4.00
3.02 -2.0 5.00
0.60 0.30 3000
DM2:
0.010 3000 1000
0.020 3000 1000
0.030 3000 1000
0.040 3000 1000
0.050 3000 1000
0.060 3000 1000
DM3:
1000 0.00 0.00
2000 0.00 0.00
3000 0.00 0.00
4000 0.00 0.00
5000 0.00 0.00
6000 0.00 0.00
7000 0.00 0.00
赞
一下
(1人)
回复此楼
3楼
2014-04-16 13:09:34
已阅
关注TA
给TA发消息
送TA红花
TA的回帖
tg2010
金虫
(小有名气)
应助: 9
(幼儿园)
金币: 642.7
散金: 150
红花: 2
帖子: 167
在线: 69小时
虫号: 1415311
注册: 2011-09-24
专业: 水文、水资源
【答案】应助回帖
感谢参与,应助指数 +1
先做个循环数有多少行。
第二个循环就按上面读出的行数来读。
赞
一下
回复此楼
4楼
2014-04-16 15:31:41
已阅
关注TA
给TA发消息
送TA红花
TA的回帖
相关版块跳转
第一性原理
量子化学
计算模拟
分子模拟
仿真模拟
程序语言
我要订阅楼主
lwingkei
的主题更新
4
1/1
返回列表
信息提示
关闭
请填处理意见
关闭
确定