Fortran Coder

在Fortran90中调用一个可执行程序‘name.exe’,如何给...

查看数: 2655 | 评论数: 5 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-11-22 15:01

正文摘要:

如图,name.exe是一个命令行程序没有界面,需要在命令行中输入文件名称'file.txt',按下回车键才可执行程序,请问怎么能用Fortran90实现呢?另外call system这种语句的具体格式是什么呢?有没有可以学习的资料?查了 ...

回复

jellynce_w 发表于 2022-11-24 10:14:36
本帖最后由 jellynce_w 于 2022-11-24 10:17 编辑
楚香饭 发表于 2022-11-24 09:03
[mw_shl_code=fortran,true]character(len=16) :: c
Do i = 1 , 3
  write(c,*) i

太强了!!!万分感谢您百忙之中抽出的时间!!
楚香饭 发表于 2022-11-24 09:03:38
本帖最后由 楚香饭 于 2022-11-24 09:05 编辑

[Fortran] 纯文本查看 复制代码
character(len=16) :: c
Do i = 1 , 3
  write(c,*) i
  call system("echo file"//trim(adjustl(c))//".txt>a.inp & name.exe <a.inp & del a.inp")
End Do
jellynce_w 发表于 2022-11-23 19:08:50
楚香饭 发表于 2022-11-22 16:40
call system("echo file.txt>a.inp & name.exe

想再请教您一个问题,如果想循环调用name.exe来计算file1.txt、file2.txt、file3.txt、、、这件事可以用Fortran实现吗?因为我发现call system("里面的元素不能在Fortran中声明定义")
于是我想了个笨办法:
call system("echo file1.txt>a.inp & name.exe <a.inp & del a.inp")
call system("echo file2.txt>a.inp & name.exe <a.inp & del a.inp")
call system("echo file3.txt>a.inp & name.exe <a.inp & del a.inp")



不知道您还有没有更好的方式?
jellynce_w 发表于 2022-11-23 15:00:10
楚香饭 发表于 2022-11-22 16:40
call system("echo file.txt>a.inp & name.exe

原来是这样。。。我说怎么找遍Fortran的教材都没有相关资料,多谢大神指导
楚香饭 发表于 2022-11-22 16:40:59
本帖最后由 楚香饭 于 2022-11-22 16:51 编辑

call system("echo file.txt>a.inp & name.exe <a.inp & del a.inp")

你可以去了解操作系统的命令行规则。这事和 system 函数没啥关系,和Fortran更没啥关系。
它就是让操作系统执行一个命令行指令而已。写法规则遵循操作系统的规定。(windows和linux可能有差异)

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-11-23 10:07

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表