日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C語言利用system調用系統命令行詳情_C 語言

作者:微小冷 ? 更新時間: 2022-03-23 編程語言

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?
....

原文鏈接:https://blog.csdn.net/m0_37816922/article/details/122040359

欄目分類
最近更新