C语言中的Linux控制台命令(gcc编译器)
如何从我的C程序向Linux控制台(Ubuntu)提供命令,并为字符串变量分配一个值,该值由我的命令告知?请给我一个例子,其中程序给出简单的命令“ uname -a”来控制台并写入结果.
对不起,我的英语不好,我知道的很少.如果有人用俄语(如果允许)写他的答案,我会很高兴.我一直在用俄语资源寻找问题的答案,但一无所获,您是我的最后希望.
解决方法:
您需要的命令是popen.您可以通过在外壳中输入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)后,您应该插入适当的检查.