Fortran Coder

查看: 8245|回复: 6

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

[复制链接]

178

帖子

15

主题

0

精华

大宗师

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

830

帖子

2

主题

0

精华

大宗师

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

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

178

帖子

15

主题

0

精华

大宗师

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

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

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

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

178

帖子

15

主题

0

精华

大宗师

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

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

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

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

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

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

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

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

178

帖子

15

主题

0

精华

大宗师

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

比如 linux 中,unistd. ...

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

本版积分规则

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

GMT+8, 2024-10-10 16:32

Powered by Tencent X3.4

© 2013-2024 Tencent

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