如何 运行 在 gedit 中使用外部工具交互 C++ 程序
How to run a C++ Program interactive using external tools in gedit
我正在尝试 运行 我的 C++ 程序直接在 gedit 中使用外部工具进行交互。
我已经编写了一个 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 也没有给出想要的结果。
有什么建议吗?
我想我找到了答案。它可能不是最漂亮的解决方案,但它确实有效。
定义工具时,您可以在下拉菜单中选择输入,有一个选项可以将 selected 文本作为输入。
因此,例如,如果您有一个从标准输入读取 3 个变量的程序,您可以在代码中添加注释,如 //1 3 2
,仅 select 数字,然后 [=20= 】 你的工具。
这些数字将按此顺序用作输入,不知何故它只适用于空格。
一个残酷的实现方式是扫描源代码中的输入调用,然后通过 gedit 工具中的 zenity 请求它们,我想。
这是另一个解决方案:
我可以在工具中使用echo 3 2 1 | ./program.out
这让一切变得更简单
我正在尝试 运行 我的 C++ 程序直接在 gedit 中使用外部工具进行交互。
我已经编写了一个 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 也没有给出想要的结果。 有什么建议吗?
我想我找到了答案。它可能不是最漂亮的解决方案,但它确实有效。
定义工具时,您可以在下拉菜单中选择输入,有一个选项可以将 selected 文本作为输入。
因此,例如,如果您有一个从标准输入读取 3 个变量的程序,您可以在代码中添加注释,如 //1 3 2
,仅 select 数字,然后 [=20= 】 你的工具。
这些数字将按此顺序用作输入,不知何故它只适用于空格。
一个残酷的实现方式是扫描源代码中的输入调用,然后通过 gedit 工具中的 zenity 请求它们,我想。
这是另一个解决方案:
我可以在工具中使用echo 3 2 1 | ./program.out
这让一切变得更简单