gpt4 book ai didi

C++通过调用system()获取变量集

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:54:29 24 4
gpt4 key购买 nike

我正在编写一个程序,我决定输入/输出最好允许自定义命令。我已经编写了一个配置文件并定义了一系列命令(只是 echo 等)并使用 system() 在程序中调用这些命令。问题是我需要从这些命令中获取输入。我尝试使用“read ANSWER”,然后使用 getenv("ANSWER),但这会返回一个空字符串。执行此操作的最佳方法是什么?

最佳答案

既然你不提供任何代码,那我就只能发挥我的想象力了。如果我弄错了,请告诉我。你正在做这样的事情:

system("command");

并且,您希望能够读取该命令生成的输出。如果我错了,请提供您在问题中使用的代码。

如果我是对的,那么,你想改用popen。它打开一个 C 风格的 I/O 流。您可以指定读取或写入(但不能同时指定)。您想使用 "r" 进行阅读。完成后使用 pclose 关闭流。

char buf[512];
FILE *cmd = popen("command", "r");
while (fgets(buf, sizeof(buf), cmd) != 0) {
//...
}
pclose(cmd);

关于C++通过调用system()获取变量集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11999081/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com