24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 2318  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿河北工业大学材料工程,初试344求专硕调剂 +3 15933906766 2026-04-05 3/150 2026-04-05 22:17 by dongzh2009
[考研] 327求调剂 +4 拾光任染 2026-04-05 4/200 2026-04-05 20:16 by 南航~万老师
[考研] 315求调剂 +13 欣喜777 2026-04-04 14/700 2026-04-05 18:48 by liuying2007
[考研] 复试调剂 +3 asdasdassda 2026-04-05 3/150 2026-04-05 17:26 by zhousanduo
[考研] 283求调剂 +10 A child 2026-04-04 10/500 2026-04-05 08:22 by qlm5820
[考研] 320求调剂 +3 一样圆 2026-04-04 3/150 2026-04-04 22:29 by 啵啵啵0119
[考研] 413求调剂 +4 柯某某 2026-03-31 4/200 2026-04-04 22:18 by 学员6BFVa3
[考研] 环境285分,过六级,求调剂 +10 xhr12 2026-04-02 10/500 2026-04-04 21:53 by bn53987
[考研] 材料383求调剂 +5 郭阳阳阳成 2026-04-04 5/250 2026-04-04 19:06 by dongzh2009
[考研] 一志愿南农090401,268,求调剂 +5 一木鸟然 2026-04-04 5/250 2026-04-04 17:07 by babysonlkd
[考研] 334求调剂 +8 曾仰之 2026-04-03 8/400 2026-04-04 11:16 by w_xuqing
[考研] 288求调剂 一志愿哈工大 材料与化工 +39 洛神哥哥 2026-03-31 41/2050 2026-04-03 21:51 by qlm5820
[考研] 考研调剂 +3 Draa 2026-04-03 3/150 2026-04-03 17:37 by hgwz7468
[考研] 315求调剂 +6 顺理成张 2026-04-03 8/400 2026-04-03 14:04 by 百灵童888
[考研] 求调剂推荐 +3 南山南@ 2026-04-01 3/150 2026-04-02 12:09 by xiaoranmu
[考研] 272求调剂,接受跨专业调剂! +4 闲鱼卢 2026-03-31 4/200 2026-04-02 11:18 by guyan1000
[考研] 270调剂 +7 maxjxbsk 2026-04-02 7/350 2026-04-02 09:50 by yulian1987
[考研] 085600,321分求调剂 +13 大馋小子 2026-03-31 13/650 2026-04-01 12:35 by chemdavid
[考研] 一志愿浙江大学工科动力工程370,数一121,专业课135,现在能去哪里 +3 080700调剂 2026-03-30 4/200 2026-03-31 12:00 by KLMY666
[考研] 323分 食品与营养调剂 +3 嘿ooo 2026-03-31 3/150 2026-03-31 09:38 by longlotian
信息提示
请填处理意见