| 查看: 938 | 回复: 2 | ||
cmwhoknows新虫 (初入文坛)
|
[求助]
请问怎么用fortran定位文件中的特定行并输出 已有1人参与
|
|
本人接触fortran不久,现有一数据想通过fortran处理,有个问题不知如何实现 文件是格式化文件,每行都有好几列数据,现在想定位每行第一个数据等于某特定值的那一行,并把该行后面几列的数据按顺序输出。请问各位如何实现? 一个简单的例子,比如数据为 1 22 5 98 2 66 9 77 3 45 8 89 2 98 7 14 1 89 8 74 2 86 2 36 怎么输出第一个数字为2的那几行后面几列的内容呢? 多谢了各位!!! |
» 猜你喜欢
所感
已经有3人回复
要不要辞职读博?
已经有7人回复
不自信的我
已经有11人回复
北核录用
已经有3人回复
实验室接单子
已经有3人回复
磺酰氟产物,毕不了业了!
已经有8人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有10人回复
26申博(荧光探针方向,有机合成)
已经有4人回复
论文终于录用啦!满足毕业条件了
已经有26人回复
2026年机械制造与材料应用国际会议 (ICMMMA 2026)
已经有4人回复
wz_work
木虫 (小有名气)
- 应助: 4 (幼儿园)
- 金币: 2793.9
- 红花: 1
- 帖子: 204
- 在线: 21.9小时
- 虫号: 3930194
- 注册: 2015-06-18
- 性别: GG
- 专业: 结构工程
★
jjdg: 金币+1, 感谢参与 2017-09-15 00:15:53
jjdg: 金币+1, 感谢参与 2017-09-15 00:15:53
|
do循环:读取第一个字符,判断,若为2,则backspace,重新按格式读取该行;否则,继续读下一行。该方法前提,首个数字为个位数。 发自小木虫IOS客户端 |

2楼2017-09-14 08:36:24
【答案】应助回帖
★ ★
感谢参与,应助指数 +1
jjdg: 金币+2, 感谢参与 2017-09-15 00:16:01
感谢参与,应助指数 +1
jjdg: 金币+2, 感谢参与 2017-09-15 00:16:01
|
思路:读入数据,判断,然后输出 具体实现: program main implicit none integer :: a, b, c, d, ios open(10,file="input.txt",status='old') ! 输入文件 open(20,file="out.txt",status='replace') ! 输出文件 do while(.true.) read(10,*,iostat=ios) a, b, c, d if(ios/=0) exit ! 判断是否读到文件末尾,若是,则退出循环 if(a==2) write(20,*) b, c, d ! 判断是否等于2,若是,则输出后面几位数到输出文件 end do close(10) close(20) end program main |
3楼2017-09-14 08:45:20












回复此楼