如何使用gedit中的外部工具来交互式运行C ++程序

问题描述 投票:1回答:2

我正在尝试使用外部工具在gedit中直接交互式地运行C ++程序。

[我已经写了一个Python工具来编译它,但是当使用os.system("./program.out")时,程序的所有输入都设置为0(但是,它正在正确执行)。

由于使用Python进行交互执行非常困难,我正在寻找其他解决方案。

#!/usr/bin/env python3

import os

filename = os.getenv("GEDIT_CURRENT_DOCUMENT_NAME")
fout = "%s%s"%(filename[:len(filename)-4], ".out") #

os.system("c++ -o %s %s" % (fout,filename))

os.system("./%s" % fout)

编译工作完美无缺,但是./program.out也不能使用bash给出所需的结果。有什么建议吗?

c++ linux ubuntu gedit
2个回答
0
投票

我想我已经找到了答案。它可能不是最漂亮的解决方案,但它可以工作。

[定义工具时,您可以在下拉菜单中选择输入,有选择的文本作为输入的选项。

因此,例如,如果您有一个程序从stdin读取3个变量,则可以在代码中添加注释,例如//1 3 2,仅选择数字,然后运行工具。这些数字将按此顺序用作输入,以某种方式仅适用于空格。

一种实现此目标的残酷方式是扫描源代码中的输入调用,并通过gedit工具中的zenity要求它们。


0
投票

这是另一种解决方案:

我只能在工具中使用echo 3 2 1 | ./program.out

这使一切变得更容易

© www.soinside.com 2019 - 2024. All rights reserved.