我是靠谱客的博主 坦率皮皮虾,最近开发中收集的这篇文章主要介绍C语言利用system调用系统命令行详情,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

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

//system.c
#include<stdlib.h>
#include<stdio.h>
#include<string.h>

int 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.exe
input 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 <stdio.h>
#include <stdlib.h>

int main ()
{
   printf("PATH : %sn", getenv("PATH"));
   return 0;
}

其运行结果为:

E:Documents01220>a.exe
PATH : C:Program FilesMicrosoftjdk-11.0.12.7-hotspotbin;C:Python310Scripts;C:Python310;C:Program FilesCommon FilesOracleJavajavapath;D:CSImageMagick;(x86)Common FilesIntelShared 
....

到此这篇关于C语言利用system调用系统命令行详情的文章就介绍到这了,更多相关C语言利用system调用系统命令行内容请搜索靠谱客以前的文章或继续浏览下面的相关文章希望大家以后多多支持靠谱客!

最后

以上就是坦率皮皮虾为你收集整理的C语言利用system调用系统命令行详情的全部内容,希望文章能够帮你解决C语言利用system调用系统命令行详情所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(184)

评论列表共有 0 条评论

立即
投稿
返回
顶部