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 : %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調用系統命令行詳情的文章就介紹到這瞭,更多相關C語言利用system調用系統命令行內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!