24小时热门版块排行榜    

查看: 2298  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 环境工程调剂 +6 大可digkids 2026-03-16 6/300 2026-03-16 17:16 by barlinike
[文学芳草园] 伙伴们,祝我生日快乐吧 +16 myrtle 2026-03-10 25/1250 2026-03-16 16:21 by 火星超人xi
[考研] 304求调剂 +6 小熊joy 2026-03-14 6/300 2026-03-16 12:59 by Iveryant
[考研] 344求调剂 +3 knight344 2026-03-16 3/150 2026-03-16 09:42 by 无际的草原
[考研] 东南大学364求调剂 +4 JasonYuiui 2026-03-15 4/200 2026-03-16 08:36 by Linda Hu
[考研] 一志愿哈工大材料324分求调剂 +5 闫旭东 2026-03-14 5/250 2026-03-14 14:53 by 木瓜膏
[考研] 290求调剂 +4 @将就将就看 2026-03-10 8/400 2026-03-14 14:23 by 千千运气
[考研] 一志愿郑大070303,338分,求调剂 +4 dadawaf 2026-03-10 5/250 2026-03-14 01:20 by lsw010101
[考研] 求调剂 +6 yfihxh 2026-03-09 6/300 2026-03-14 01:18 by JourneyLucky
[考研] 材料工程专硕,一志愿中国矿业大学,总分314,求调剂 +5 无懈可击的巨人 2026-03-10 5/250 2026-03-14 00:37 by JourneyLucky
[考研] 求调剂,一志愿江南大学环境工程085701 +3 Djdjj12 2026-03-10 4/200 2026-03-14 00:31 by JourneyLucky
[考研] 279求调剂 +3 抓着星星的女孩 2026-03-10 3/150 2026-03-13 23:47 by userper
[考研] 0805,333求调剂 +3 112253525 2026-03-10 3/150 2026-03-13 23:42 by JourneyLucky
[考研] 材料与化工304求B区调剂 +5 邱gl 2026-03-11 6/300 2026-03-13 22:37 by JourneyLucky
[考研] 332求调剂 +3 Zz版 2026-03-13 3/150 2026-03-13 20:36 by 18595523086
[考研] 【考研调剂求收留】 +3 Ceciilia 2026-03-11 3/150 2026-03-13 20:18 by JourneyLucky
[考研] 工科278分求调剂 +5 周慢热啊 2026-03-12 7/350 2026-03-13 15:49 by JourneyLucky
[考研] 296求调剂 +3 大口吃饭 身体健 2026-03-13 3/150 2026-03-13 10:31 by 学员8dgXkO
[考研] 290求调剂 +3 ADT 2026-03-13 3/150 2026-03-13 10:19 by peike
[考研] 调剂 +5 呵唔哦豁 2026-03-10 5/250 2026-03-10 22:00 by 28375m
信息提示
请填处理意见