Fortran Coder

标题: fortran执行系统命令后,能否将输出获取成字符串? [打印本页]

作者: liudy02    时间: 2019-12-24 12:41
标题: fortran执行系统命令后,能否将输出获取成字符串?
就是执行execute_command_line之后不将结果输出到屏幕,而是存储到一个字符串中

作者: li913    时间: 2019-12-24 13:39
本帖最后由 li913 于 2019-12-24 13:40 编辑

用重定向,输出到文件,读文件。
作者: liudy02    时间: 2019-12-24 14:00
li913 发表于 2019-12-24 13:39
用重定向,输出到文件,读文件。
谢谢
额,这个会不会太没有效率了……没有直接把输出读到内存中的办法么

作者: vvt    时间: 2019-12-24 22:24
百度了解“管道符”
other.exe | your.exe
作者: liudy02    时间: 2019-12-25 01:09
vvt 发表于 2019-12-24 22:24
百度了解“管道符”
other.exe | your.exe

额,非常感谢,这确实是一个办法
然而有一大一小两个问题

一个小问题是,如果这么做的话需要把执行命令行的code单独编译成一个可执行程序
然后再把读取执行结果的code写在主程序中,看起来不怎么优雅
不过这也不是什么大问题,能用就好

大问题才是比较头疼的,这样的写法做不到实时呀
也就是在执行过程中,如果主程序需要实时根据执行结果来做不同的事情
比如会执行不同的命令行;或者会执行改变下一个命令行结果的事情
碰到这样的情况,这种办法是无法处理的
作者: vvt    时间: 2019-12-26 10:56
实时的管道处理,不是标准语法的内容。你可以看你的操作系统是否支持对应的函数。

比如 linux 中,unistd.h 头文件定义的 pipe 函数
作者: liudy02    时间: 2019-12-27 14:40
vvt 发表于 2019-12-26 10:56
实时的管道处理,不是标准语法的内容。你可以看你的操作系统是否支持对应的函数。

比如 linux 中,unistd. ...

咦,还真有这种东西啊,回头好好了解一下
谢谢




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2