Fortran Coder

查看: 13410|回复: 7
打印 上一主题 下一主题

[编译器] Fortran,尤其是IVF里能不能给文件改名,删除/复制文件?

[复制链接]

178

帖子

15

主题

0

精华

大宗师

F 币
4973 元
贡献
1152 点
跳转到指定楼层
楼主
发表于 2018-12-16 14:40:19 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我在某个地方看到说有个rename命令,试了一下,似乎只是在gfortran里边有效
另外gfortran里我也不知道删除文件怎么操作
另外,IVF里有没有这种改名、删除、复制文件的函数呢?
求各位大佬指点。


分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

178

帖子

15

主题

0

精华

大宗师

F 币
4973 元
贡献
1152 点
8#
 楼主| 发表于 2018-12-17 23:41:21 | 只看该作者
li913 发表于 2018-12-17 19:47
把Shell得到的数据传回Fortran主程序? 如果是 shell 调用 fortran 的exe,可以用命令行参数;如果是fort ...

唉,看来是真没有其他办法了……
非常感谢

835

帖子

2

主题

0

精华

大宗师

F 币
3926 元
贡献
2334 点
7#
发表于 2018-12-17 19:47:40 | 只看该作者
liudy02 发表于 2018-12-16 20:34
哈,这三个操作是没有什么可返回的啊
所以主贴的问题已经解决了
可是我一直在想的问题其实是Fortran怎么 ...

把Shell得到的数据传回Fortran主程序? 如果是 shell 调用 fortran 的exe,可以用命令行参数;如果是fortran调用shell再返回fortran,我没有其他想法,用文件传递。

178

帖子

15

主题

0

精华

大宗师

F 币
4973 元
贡献
1152 点
6#
 楼主| 发表于 2018-12-16 20:34:44 | 只看该作者
li913 发表于 2018-12-16 20:04
两者等效,但 system 不规范。改名、删除、复制,这三个操作有什么可返回的? ...

哈,这三个操作是没有什么可返回的啊
所以主贴的问题已经解决了
可是我一直在想的问题其实是Fortran怎么方便有效地进行文字和文件编辑
如果打算用利用Shell文字编辑强大的特点进行混合编程的话
那就免不了要在Shell和Fortran之间来回互传数据了啊
前两天已经从版主石头那里学到可以把运行Fortran程序加到Shell管道里实现数据互传
可是我心里其实一直想的还是以Fortran为主程序
所以其实一直还是在琢磨怎么在Fortran主程序中和Shell脚本部分来回互传数据
刚才因你解答的提示,我终于想到其实输入的命令字符串是可以程序生成
这样向Shell传数据完全不是事情
只是可惜不知道怎么把Shell得到的数据传回Fortran主程序啊
你有什么好办法么?

835

帖子

2

主题

0

精华

大宗师

F 币
3926 元
贡献
2334 点
5#
发表于 2018-12-16 20:04:39 | 只看该作者
liudy02 发表于 2018-12-16 19:06
call execute_command_line()
呃,这个和Call system()有什么区别么……
不想用这个的原因是因为不能往里 ...

两者等效,但 system 不规范。改名、删除、复制,这三个操作有什么可返回的?

178

帖子

15

主题

0

精华

大宗师

F 币
4973 元
贡献
1152 点
地板
 楼主| 发表于 2018-12-16 19:08:05 | 只看该作者
li913 发表于 2018-12-16 18:32
ivf有rename,需要use ifport;
改名、删除、复制文件可以用命令行,例如
call execute_command_line('dele ...

哦哦,刚刚试了ifport,果然可以了,非常感谢

178

帖子

15

主题

0

精华

大宗师

F 币
4973 元
贡献
1152 点
板凳
 楼主| 发表于 2018-12-16 19:06:24 | 只看该作者
本帖最后由 liudy02 于 2018-12-16 19:21 编辑
li913 发表于 2018-12-16 18:32
ivf有rename,需要use ifport;
改名、删除、复制文件可以用命令行,例如
call execute_command_line('dele ...

call execute_command_line()
呃,这个和Call system()有什么区别么……
不想用这个的原因是因为不能往里边传变量啊……
等等,我想想,其实也是可以的啊,其实Call system()里边的命令字符串可以用Fortran生成的啊
唯一剩下的问题就是命令行得到的结果怎么给传回来呢……

835

帖子

2

主题

0

精华

大宗师

F 币
3926 元
贡献
2334 点
沙发
发表于 2018-12-16 18:32:41 | 只看该作者
ivf有rename,需要use ifport;
改名、删除、复制文件可以用命令行,例如
call execute_command_line('dele a.txt')
具体命令,查询相应的系统。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-11-23 20:20

Powered by Tencent X3.4

© 2013-2024 Tencent

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