Fortran Coder

查看: 1040|回复: 6

[绘图界面库] fortran执行系统命令后,能否将输出获取成字符串?

[复制链接]

168

帖子

14

主题

0

精华

大宗师

F 币
4218 元
贡献
911 点
发表于 2019-12-24 12:41:51 | 显示全部楼层 |阅读模式
就是执行execute_command_line之后不将结果输出到屏幕,而是存储到一个字符串中
回复

使用道具 举报

578

帖子

1

主题

0

精华

大宗师

F 币
2878 元
贡献
1818 点
发表于 2019-12-24 13:39:07 | 显示全部楼层
本帖最后由 li913 于 2019-12-24 13:40 编辑

用重定向,输出到文件,读文件。

168

帖子

14

主题

0

精华

大宗师

F 币
4218 元
贡献
911 点
 楼主| 发表于 2019-12-24 14:00:26 | 显示全部楼层
li913 发表于 2019-12-24 13:39
用重定向,输出到文件,读文件。
谢谢
额,这个会不会太没有效率了……没有直接把输出读到内存中的办法么

856

帖子

0

主题

0

精华

宗师

F 币
1464 元
贡献
813 点

规矩勋章元老勋章新人勋章水王勋章

QQ
发表于 2019-12-24 22:24:03 | 显示全部楼层
百度了解“管道符”
other.exe | your.exe

168

帖子

14

主题

0

精华

大宗师

F 币
4218 元
贡献
911 点
 楼主| 发表于 2019-12-25 01:09:51 | 显示全部楼层
vvt 发表于 2019-12-24 22:24
百度了解“管道符”
other.exe | your.exe

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

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

大问题才是比较头疼的,这样的写法做不到实时呀
也就是在执行过程中,如果主程序需要实时根据执行结果来做不同的事情
比如会执行不同的命令行;或者会执行改变下一个命令行结果的事情
碰到这样的情况,这种办法是无法处理的

856

帖子

0

主题

0

精华

宗师

F 币
1464 元
贡献
813 点

规矩勋章元老勋章新人勋章水王勋章

QQ
发表于 2019-12-26 10:56:20 | 显示全部楼层
实时的管道处理,不是标准语法的内容。你可以看你的操作系统是否支持对应的函数。

比如 linux 中,unistd.h 头文件定义的 pipe 函数

168

帖子

14

主题

0

精华

大宗师

F 币
4218 元
贡献
911 点
 楼主| 发表于 2019-12-27 14:40:39 | 显示全部楼层
vvt 发表于 2019-12-26 10:56
实时的管道处理,不是标准语法的内容。你可以看你的操作系统是否支持对应的函数。

比如 linux 中,unistd. ...

咦,还真有这种东西啊,回头好好了解一下
谢谢
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

QQ|捐赠本站|Archiver|关于我们 About Us|群聊|Fcode

GMT+8, 2021-1-27 12:35

Powered by Discuz! X3.2

© 2001-2017 Comsenz Inc.

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