如何在C语言编程中调用linux系统终端下的命令

如何在C语言编程中调用linux系统终端下的命令,第1张

根据调用需求,可以分为两种:

一、仅执行系统命令,不需要该命令的打印结果。

这种情况可以用system函数。形式为

system(cmd)

其中cmd为char*类型的字符串,包含要执行的命令,命令的执行结果会输出到标准输出。

比如

system("mkdir test")

这个执行,会在当前文件夹下创建test文件夹。

二、需要命令执行的打印。

虽然同样可以使用system并重定向到文件,然后打开文件读取,最终删除文件。但这样做比较繁琐,更好的做法是使用popen。

FILE *fp = popen(cmd)

执行cmd中的命令,然后可以以C文件 *** 作方式,读取命令的输出结果。比如:

if((fp=popen("pwd","r"))==NULL)//执行获取当前目录的系统命令pwd。

{

    printf("执行失败\n")//fp为NULL表示命令执行失败。 

}

else

{

    char s[100]

    while(fgets(s, 100, fp))//获取文件内容。

        printf("%s", s)//输出结果。

    pclose(fp)//关闭。

}

C语言有一个system函数(在<stdlib.h>头中,C++则为<cstdlib>头),可以用来调用终端命令。原型如下:

int system(const char *cmdline /* 命令字符串 */

)

例如,Linux系统中,调用system("ls -la")将输出当前目录下的所有文件详细信息。

Windows系统的“终端”(命令提示符)和Linux中的终端不一样,Windows系统中要实现同样功能,需要调用system("dir /a")

对system函数的详细解释见http://baike.baidu.com/subview/627587/14965930.htm。

1、使用快捷键:Ctrl加Alt加T,此时终端为桌面版终端命令窗口。

2、使用搜索框:在搜索框内搜索终端并进入。

3、使用快捷键:Ctrl+加Alt加F1到F6都可以,此时打开的是全文字终端,图形界面将会被关闭。

注意事项:如果采用了F1到F6的方法,返回图形界面只要按Ctrl加Alt加F7即可。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/9002924.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-23
下一篇2023-04-23

发表评论

登录后才能评论

评论列表(0条)

    保存