版块导航
正在加载中...
客户端APP下载
论文辅导
申博辅导
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(589)
>
虫友互识
(49)
>
硕博家园
(33)
>
导师招生
(17)
>
考博
(14)
>
文献求助
(9)
>
找工作
(5)
>
考研
(5)
>
论文投稿
(5)
>
教师之家
(3)
>
海外博后
(2)
>
招聘信息布告栏
(2)
>
公派出国
(2)
>
材料工程
(1)
>
功能材料
(1)
>
论文道贺祈福
(1)
小木虫论坛-学术科研互动平台
»
计算模拟区
»
程序语言
»
Fortran
»
FORTRAN中如何实现重复读取一行?
10
1/1
返回列表
查看: 2154 | 回复: 24
查看全部回帖
@他人
存档
新回复提醒
(忽略)
收藏
在APP中查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖
Gina88
木虫
(正式写手)
应助: 9
(幼儿园)
金币: 3328.8
散金: 124
红花: 8
帖子: 395
在线: 113小时
虫号: 1047684
注册: 2010-06-26
专业: 理论和计算化学
[
求助
]
FORTRAN中如何实现重复读取一行?
如题:fortran中如何实现重复读取一行啊?
第一次读取的时候是将其作为字符串读取的,进行统计,看看数据的个数,然后好定义数组的大小,
第二次读取的时候是将其作为数来读取的,并存入所定义的数组中。
先谢谢大侠了!
回复此楼
» 猜你喜欢
博士读完未来一定会好吗
已经有21人回复
导师想让我从独立一作变成了共一第一
已经有5人回复
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有11人回复
读博
已经有4人回复
JMPT 期刊投稿流程
已经有4人回复
心脉受损
已经有5人回复
Springer期刊投稿求助
已经有4人回复
小论文投稿
已经有3人回复
Bioresource Technology期刊,第一次返修的时候被退回好几次了
已经有9人回复
申请2026年博士
已经有6人回复
» 本主题相关价值贴推荐,对您同样有帮助:
Matlab如何实现这样的计算:赋值——计算——判断结果——重复
已经有10人回复
fortran中到底该如何比较两个实数是否相等
已经有8人回复
Fortran如何读取数据避开空行?
已经有7人回复
如何改变fortran的浮点精度
已经有28人回复
请教一个fortran小程序编译出错的问题,谢谢
已经有9人回复
如何用fortran编写高斯白噪声程序
已经有6人回复
fortran两个问题,文件中的空格,屏幕同一行覆盖输出
已经有23人回复
有关fortran的一次而问题,希望大家能帮帮忙,谢谢
已经有4人回复
【求助】如何写FORTRAN程序实现求平均最近邻距离
已经有34人回复
【求助】FORTRAN写文件时每行开头都多了一个空格?
已经有6人回复
【求助】求指点,在Fortran里面,怎样实现“数组维度可调”的数组?
已经有5人回复
【求助】Fortran程序,如何让exe文件可以单独运行?
已经有6人回复
【求助】Fortran 如何读取文件中特定行的内容
已经有16人回复
【求助】matlab读取fortran输出的txt文件【已解决】
已经有3人回复
【求助】DL_POLY的config文件如何生成??
已经有98人回复
【分享】fortran程序设计视频教程【已搜索无重复】
已经有15人回复
1楼
2012-12-16 13:50:10
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
snoopyzhao
至尊木虫
(职业作家)
程序强帖: 16
应助: 157
(高中生)
贵宾: 0.02
金币: 18844.7
红花: 29
帖子: 3803
在线: 1422.4小时
虫号: 183750
注册: 2006-02-13
专业: 污染生态化学
【答案】应助回帖
★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
Gina88: 金币+5,
★★★★★
最佳答案
2012-12-16 23:31:48
jjdg: 金币+1, 感谢参与
2012-12-17 02:25:06
查一下 Fortran 中有关“内部文件”的用法:
这里举一个小例子:
CODE:
program test
character(len = 27) :: a = '1.0 2.0 3.0 4.0 5.0 6.0 7.0'
real, dimension(7) :: b
read(a, *) b(1:7)
write(*,*) b
end program test
赞
一下
回复此楼
» 本帖已获得的红花(最新10朵)
Gina88
2楼
2012-12-16 22:40:57
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
snoopyzhao
至尊木虫
(职业作家)
程序强帖: 16
应助: 157
(高中生)
贵宾: 0.02
金币: 18844.7
红花: 29
帖子: 3803
在线: 1422.4小时
虫号: 183750
注册: 2006-02-13
专业: 污染生态化学
【答案】应助回帖
★ ★ ★ ★ ★
Gina88: 金币+5,
★
有帮助
2012-12-17 09:23:45
你上面的 call system 还是可以保留的
但在你打开或创建文件时,要加上路径,比如:
CODE:
open(unit=28,file="DOSCARsplit/DOSCAR",status="old")
open(unit=38,file="DOSCARsplit/DOS"//trim(adjustl(character))//".dat",status="replace")
试一下看看……
赞
一下
回复此楼
6楼
2012-12-17 07:45:26
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
snoopyzhao
至尊木虫
(职业作家)
程序强帖: 16
应助: 157
(高中生)
贵宾: 0.02
金币: 18844.7
红花: 29
帖子: 3803
在线: 1422.4小时
虫号: 183750
注册: 2006-02-13
专业: 污染生态化学
【答案】应助回帖
★ ★ ★ ★ ★
Gina88: 金币+5,
★
有帮助
2012-12-17 11:00:12
你完整的程序是啥样子的?我在 windows 下写了一具小程测试了一下,似乎没有什么问题啊……
赞
一下
回复此楼
8楼
2012-12-17 10:15:58
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
snoopyzhao
至尊木虫
(职业作家)
程序强帖: 16
应助: 157
(高中生)
贵宾: 0.02
金币: 18844.7
红花: 29
帖子: 3803
在线: 1422.4小时
虫号: 183750
注册: 2006-02-13
专业: 污染生态化学
【答案】应助回帖
★ ★ ★ ★ ★
Gina88: 金币+5,
★★★★★
最佳答案
2012-12-18 08:47:13
引用回帖:
7楼
:
Originally posted by
Gina88
at 2012-12-17 09:22:12
加路径试过了,还是不行。
主要问题是,一旦将call system部分注释去掉了。
编译的时候总是说定义或者宣称变量那部分不正确。
未命名.jpg
...
我按前面给你的提示测试了一下,没有问题,可以新建一个文件夹,把 DOSCAR 弄进去,在里面生成 33 个新文件……
当然,你的程序在我这里编译还是有一些问题的,比如 deallocate 语句要改成下面的样子:
CODE:
deallocate(energy)
deallocate(dos)
CALL SYSTEM 语句要放在变量声明语句之后,另外,
CODE:
!call system("cd DOSCARsplit/")
!ISTATUS=CHDIR(DOSCARsplit)
是不需要的。不能进入 DOSCARsplit 之后再执行程序,因为你的可执行文件在 DOSCARsplit 之外……
赞
一下
回复此楼
11楼
2012-12-17 13:56:51
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
snoopyzhao
至尊木虫
(职业作家)
程序强帖: 16
应助: 157
(高中生)
贵宾: 0.02
金币: 18844.7
红花: 29
帖子: 3803
在线: 1422.4小时
虫号: 183750
注册: 2006-02-13
专业: 污染生态化学
引用回帖:
13楼
:
Originally posted by
Gina88
at 2012-12-18 09:51:35
哦,对了,还请教您一个问题。
就是有文件,假设该文件为aaa.bbb,也就是该文件的后缀名为bbb,并且bbb文件夹中只有这一个后缀名为bbb的文件。但是它前面aaa部分总是千变万化的。
所以对于程序来说,aaa是不知道 ...
这种事情还是别让 Fortran 去做了,如果一定要在 Fortran 中完成,就用 call system 这样的与系统相关的调用吧……
CODE:
call system('ls -1 *.bbb > filename')
open(unit = 15, file = 'filename', status = 'old')
read(15, '(a)') file_you_want
open(unit = 25, file = file_you_want, status = 'old')
read(25,....
哦,顺便问一下,system 这个是 Fortran 标准中的东西吗?感觉是编译器的扩展……
如果一定不用扩展,那就用脚本程序把相关的东西准备好,然后再调用 Fortran....
赞
一下
回复此楼
» 本帖已获得的红花(最新10朵)
Gina88
14楼
2012-12-18 10:26:14
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
snoopyzhao
至尊木虫
(职业作家)
程序强帖: 16
应助: 157
(高中生)
贵宾: 0.02
金币: 18844.7
红花: 29
帖子: 3803
在线: 1422.4小时
虫号: 183750
注册: 2006-02-13
专业: 污染生态化学
引用回帖:
16楼
:
Originally posted by
Gina88
at 2012-12-19 16:16:31
call system('ls -1 *.bbb > filename')
open(unit = 15, file = 'filename', status = 'old')
我用上面的命令了,还是不行啊。
谢谢了!...
不行是什么意思?没有生成 filename 这个文件,还是别的?有提示信息吗?
赞
一下
回复此楼
17楼
2012-12-19 17:26:35
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
snoopyzhao
至尊木虫
(职业作家)
程序强帖: 16
应助: 157
(高中生)
贵宾: 0.02
金币: 18844.7
红花: 29
帖子: 3803
在线: 1422.4小时
虫号: 183750
注册: 2006-02-13
专业: 污染生态化学
引用回帖:
18楼
:
Originally posted by
Gina88
at 2012-12-20 10:10:59
可以生成filename文件,但是估计是打开filename文件的时候不能识别filename文件就是*.bbb文件。
现在我用以下的方法可以实现,就是比较麻烦,呵呵:)
call system("basename *.bbb > filename" ...
不应该啊, 我这里的测试完全没有问题啊……
CODE:
program test
character(len = 80) :: file_you_want, line
call system('ls -1 *.bbb > filename')
open(unit = 15, file = 'filename', status = 'old')
read(15, '(a)') file_you_want
write(*, '(a)') file_you_want
open(unit = 25, file = file_you_want, status = 'old')
read(25,'(a)') line
write (*,'(a)') line
end program test
赞
一下
回复此楼
» 本帖已获得的红花(最新10朵)
Gina88
19楼
2012-12-20 13:56:37
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
snoopyzhao
至尊木虫
(职业作家)
程序强帖: 16
应助: 157
(高中生)
贵宾: 0.02
金币: 18844.7
红花: 29
帖子: 3803
在线: 1422.4小时
虫号: 183750
注册: 2006-02-13
专业: 污染生态化学
引用回帖:
22楼
:
Originally posted by
Gina88
at 2012-12-26 22:45:27
哎,问题终于找到了。
我定义了phase这个矩阵,但是这个矩阵有的时候要用到,有的时候用不到。
定了allocatable的phase矩阵后,还必须得allocate phase矩阵。
allocate phase矩阵后可以不用,但如果不用,就不能 ...
如果不能 deallocate 会有错误提示的。根据这个去修改应该不是很难。
不必客气,编程的进步很多时候就是从 debug 开始的。加油……
赞
一下
回复此楼
23楼
2012-12-27 07:08:53
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
snoopyzhao
至尊木虫
(职业作家)
程序强帖: 16
应助: 157
(高中生)
贵宾: 0.02
金币: 18844.7
红花: 29
帖子: 3803
在线: 1422.4小时
虫号: 183750
注册: 2006-02-13
专业: 污染生态化学
引用回帖:
24楼
:
Originally posted by
Gina88
at 2012-12-27 10:06:45
呵呵,编译的时候没有任何错误。
可是运行的时候总有fault的提示,但是并不指明是哪行。
然后我用您以前教我的
write(*,*)一步一步的去试的。
最后试出来上面的错误。
前面进行了好多这样的试,但是找不到 ...
你所提及的问题的确只是在运行时才会出现。
如果你会用一些 debugger 的话,会方便一些,呵呵……
是的, 调试程序比写程序还累人……
赞
一下
回复此楼
25楼
2012-12-27 13:38:32
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
相关版块跳转
第一性原理
量子化学
计算模拟
分子模拟
仿真模拟
程序语言
我要订阅楼主
Gina88
的主题更新
10
1/1
返回列表
如果回帖内容含有宣传信息,请如实选中。否则帐号将被全论坛禁言
普通表情
龙
兔
虎
猫
百度网盘
|
360云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
信息提示
关闭
请填处理意见
关闭
确定