24小时热门版块排行榜    

查看: 2584  |  回复: 24

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★
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的回帖

Gina88

木虫 (正式写手)

引用回帖:
11楼: Originally posted by snoopyzhao at 2012-12-17 13:56:51
我按前面给你的提示测试了一下,没有问题,可以新建一个文件夹,把 DOSCAR 弄进去,在里面生成 33 个新文件……

当然,你的程序在我这里编译还是有一些问题的,比如 deallocate 语句要改成下面的样子:


de ...

非常感谢,这样就成功了:)
12楼2012-12-18 08:46:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Gina88

木虫 (正式写手)

引用回帖:
11楼: Originally posted by snoopyzhao at 2012-12-17 13:56:51
我按前面给你的提示测试了一下,没有问题,可以新建一个文件夹,把 DOSCAR 弄进去,在里面生成 33 个新文件……

当然,你的程序在我这里编译还是有一些问题的,比如 deallocate 语句要改成下面的样子:


de ...

哦,对了,还请教您一个问题。
就是有文件,假设该文件为aaa.bbb,也就是该文件的后缀名为bbb,并且bbb文件夹中只有这一个后缀名为bbb的文件。但是它前面aaa部分总是千变万化的。
所以对于程序来说,aaa是不知道的,bbb是知道的,需要该程序去自动识别bbb文件,并找到aaa究竟是什么,然后读取该文件,不知道fortran能不能实现这个功能啊?
13楼2012-12-18 09:51:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

引用回帖:
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朵)

14楼2012-12-18 10:26:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Gina88

木虫 (正式写手)

引用回帖:
14楼: Originally posted by snoopyzhao at 2012-12-18 10:26:14
这种事情还是别让 Fortran 去做了,如果一定要在 Fortran 中完成,就用 call system 这样的与系统相关的调用吧……

call system('ls -1 *.bbb > filename')
open(unit = 15, file = 'filename', status = ' ...

不知道啊,在百度的时候看见的,然后就用了。
非常非常的感谢您啊!
15楼2012-12-18 14:33:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Gina88

木虫 (正式写手)

送鲜花一朵
引用回帖:
14楼: Originally posted by snoopyzhao at 2012-12-18 10:26:14
这种事情还是别让 Fortran 去做了,如果一定要在 Fortran 中完成,就用 call system 这样的与系统相关的调用吧……

call system('ls -1 *.bbb > filename')
open(unit = 15, file = 'filename', status = ' ...

call system('ls -1 *.bbb > filename')
open(unit = 15, file = 'filename', status = 'old')
我用上面的命令了,还是不行啊。
谢谢了!
16楼2012-12-19 16:16:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

引用回帖:
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的回帖

Gina88

木虫 (正式写手)

引用回帖:
17楼: Originally posted by snoopyzhao at 2012-12-19 17:26:35
不行是什么意思?没有生成 filename 这个文件,还是别的?有提示信息吗?...

可以生成filename文件,但是估计是打开filename文件的时候不能识别filename文件就是*.bbb文件。
现在我用以下的方法可以实现,就是比较麻烦,呵呵:)
   call system("basename *.bbb > filename"
   open(unit=18,file="filename"
   read(18,*)filename
   close(18)
   call system("rm filename"
   filename=adjustl(trim(filename))   
   open(unit=18,file=filename,status="old"
18楼2012-12-20 10:10:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

引用回帖:
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朵)

19楼2012-12-20 13:56:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Gina88

木虫 (正式写手)

送鲜花一朵
引用回帖:
19楼: Originally posted by snoopyzhao at 2012-12-20 13:56:37
不应该啊, 我这里的测试完全没有问题啊……


program test

character(len = 80) :: file_you_want, line

call system('ls -1 *.bbb > filename')
open(unit = 15, file = 'filename', status = 'ol ...

非常非常的感谢您
20楼2012-12-20 21:38:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 Gina88 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 能否退出参与的面上项目解除限项 +22 koalala 2026-08-24 25/1250 2026-08-26 11:14 by dxcharlary
[基金申请] 科研孤儿太难了 +20 我4大白菜 2026-08-20 21/1050 2026-08-26 11:13 by wolfgangHugh
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 怎么查啊 +3 huang1991js 2026-08-26 3/150 2026-08-26 10:48 by lnliuchunlei
[基金申请] 国合可查了 +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
[基金申请] 今天务委会开完了,明天出结果吗 +19 angus9576 2026-08-25 23/1150 2026-08-26 10:03 by zp519
[基金申请] 国合现在查不到了吗? +10 chengyan1220 2026-08-24 20/1000 2026-08-26 08:57 by peasantsprig
[基金申请] 牛来!米来!面来! +8 beefly 2026-08-26 8/400 2026-08-26 08:37 by xuzhipiao
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +24 木水思豆 2026-08-25 27/1350 2026-08-26 08:26 by yanchen918
[基金申请] 2026国自然函评费到账 +21 羊腰板 2026-08-21 24/1200 2026-08-26 07:20 by finnigan
[基金申请] 明天应该可查了!? +6 chengyan1220 2026-08-23 6/300 2026-08-25 19:45 by zfd97
[基金申请] 有没有大神帮我看看基金代码 28+4 1234567wang 2026-08-24 10/500 2026-08-25 19:15 by lfy8008
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
[基金申请] 建议基金发布提前给出明确的时间点 +13 kulium 2026-08-21 16/800 2026-08-24 16:27 by superceng
[基金申请] 让我中一个面上吧! +13 大萍1987 2026-08-20 16/800 2026-08-24 10:23 by 太傻了
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 时间戳又变了 +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by 紫杉醇
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
信息提示
请填处理意见