我正在尝试在C中创建一个程序,该程序提供GUI并允许用户从要安装在计算机上的应用程序列表中进行选择。我可以管理gui,但我从来没有被教过如何实际发出命令行命令。
我知道bash只有apt-get install firefox
,但我怎么用C做这样的事情呢?即点击,该程序运行'apt-get install
另一个问题是我不熟悉这种互动的正确名称,所以很难搜索。
感谢您的帮助
答案 0 :(得分:6)
如果您使用传统的C标准库,您可以选择:
popen()
- 使用stdio IO流打开进程以读取/写入进程system()
- 执行与父或:
fork()
+ execl()
(或exec变体)本质上是system()
的实现方式。尝试所有这些的手册页。
另外,请订购W. Richard Stevens的“UNIX环境中的高级编程”
答案 1 :(得分:0)
您可以看到其他人如何做到这一点。看起来您正在尝试创建与Synaptic类似的内容,您可以查看其来源。
答案 2 :(得分:0)
您正尝试(1)执行命令行解析和(2)执行软件安装。你应该知道apt-get是一项重大任务。
答案 3 :(得分:0)
执行此操作的便携方式是使用system()
。不那么便携但更灵活的方式是使用fork()
后跟exec()
。如果您需要/希望通过其stdin
或stdout
与孩子进行交流(例如,如果您想捕获其输出并在窗口中显示),还有popen。
答案 4 :(得分:-1)
如果使用C不是必须的,您可以尝试使用Python(Perl)进行编码。您将大大缩短开发时间,并且可以使用易于使用的GUI模块,如tkinter(Python)或Tk(Perl)等。您将立即启动GUI。