千家信息网

C语言怎么利用system调用系统命令行

发表于:2024-10-27 作者:千家信息网编辑
千家信息网最后更新 2024年10月27日,本篇内容介绍了"C语言怎么利用system调用系统命令行"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成
千家信息网最后更新 2024年10月27日C语言怎么利用system调用系统命令行

本篇内容介绍了"C语言怎么利用system调用系统命令行"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

system,顾名思义,就是调用系统命令行,输入为字符串,然后把这个字符串输出给命令行,让命令行执行。

为了测试其特性,可以做一个小程序:

//system.c#include#include#includeint main(){    char cmd[100];    while(1){        printf("input code: ");        gets(cmd);        if(strcmp(cmd,"exit")==0)            break;  //当输入exit时退出        system(cmd);    }    return 0;}

然后开始

>gcc system.c>a.exeinput code: asdfasdf'asdfasdf' 不是内部或外部命令,也不是可运行的程序或批处理文件。input code: date当前日期: 2021/12/19 周日输入新日期: (年月日)input code: date当前日期: 2021/12/19 周日输入新日期: (年月日)input code: HELP有关某个命令的详细信息,请键入 HELP 命令名ASSOC          显示或修改文件扩展名关联。ATTRIB         显示或更改文件属性。BREAK          设置或清除扩展式 CTRL+C 检查。BCDEDIT        设置启动数据库中的属性以控制启动加载。# 由于太长,且和命令行中输入HELP的结果是一样的,所以这里就省略了有关工具的详细信息,请参阅联机帮助中的命令行参考。input code: exit        #退出

通过system,可以做一个增强版的命令行。

而除了这些终端提供的命令之外,可能还需要一些自定义的语句,这些语句都被存放在环境变量中,getenv可以获取名字对应的环境变量

char *getenv(const char *name)

例如:

#include #include int main (){   printf("PATH : %s\n", getenv("PATH"));   return 0;}

其运行结果为:

E:\Documents\00\1220>a.exe
PATH : C:\Program Files\Microsoft\jdk-11.0.12.7-hotspot\bin;C:\Python310\Scripts\;C:\Python310\;C:\Program Files\Common Files\Oracle\Java\javapath;D:\CS\ImageMagick;(x86)\Common Files\Intel\Shared
....

"C语言怎么利用system调用系统命令行"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0