C++中的Linux控制台命令(GCC编译器)

3
我该如何在我的c++程序中向Linux控制台(Ubuntu)发送命令,并将命令返回的值赋给字符串变量?请给我一个例子,其中程序向控制台发送简单的命令“uname -a”并写入结果。
抱歉我的英语很差,我只懂得一点。如果可以的话,希望有人能用俄语回答我的问题。我在俄语资源中寻找答案,但没有找到,您是我的最后希望。
2个回答

3
您需要的命令是popen。您可以在shell中键入man popen来获取有关它的信息;如果您的Linux发行版运行其俄语翻译,则应以俄语显示有关它的信息。
基本上,popen只是打开一个“文件”(流),您可以像处理常规文件一样使用它。以下是如何使用它的示例:
#include <stdio.h>
int main()
{
  FILE *f;
  char stuff[100];
  f = popen("uname -a", "r");
  fgets(stuff, 100, f);
  printf("%s", stuff);
  pclose(f);
}

以上代码没有任何错误处理,您应该在阅读并理解完整的手册页面(俄语版)之后插入适当的检查。


1

寻找解释popen(3)库例程的俄语语言资源。您需要使用popen来启动命令,然后读取管道以获取输出。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接