博主信息
博文 18
粉丝 0
评论 0
访问量 23836
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
C语言利用system调用系统命令行详情
原创
1104人浏览过

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 : %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
….

本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学