【问题标题】:Linux console commands in C++ (gcc compiler)C++ 中的 Linux 控制台命令(gcc 编译器)
【发布时间】:2010-11-13 21:17:29
【问题描述】:

如何从我的 c++ 程序向 Linux 控制台 (Ubuntu) 发出命令,并将我的命令告诉的值分配给字符串变量?请给我一个例子,其中程序向控制台发出简单的命令“uname -a”并写入结果。

对不起,我的英语不好,我知道的很少。如果有人用俄语写下他的答案(如果允许的话),我会很高兴。我在俄罗斯资源中寻找我的问题的答案,但一无所获,你是我最后的希望。

【问题讨论】:

    标签: c++ linux gcc console


    【解决方案1】:

    您需要的命令是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);
    }
    

    上面的代码没有任何错误处理;阅读并理解the complete manual page (rus) 后应插入相应的检查。

    【讨论】:

    • 非常感谢!我喜欢 stackoverflow.com!
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-22
      • 2014-10-19
      • 1970-01-01
      • 1970-01-01
      • 2015-01-27
      • 1970-01-01
      • 2010-11-14
      • 2013-01-01
      相关资源
      最近更新 更多