C語言利用system調(diào)用系統(tǒng)命令行詳情
system,顧名思義,就是調(diào)用系統(tǒng)命令行,輸入為字符串,然后把這個字符串輸出給命令行,讓命令行執(zhí)行。
為了測試其特性,可以做一個小程序:
//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' 不是內(nèi)部或外部命令,也不是可運行的程序 或批處理文件。 input code: date 當前日期: 2021/12/19 周日 輸入新日期: (年月日) input code: date 當前日期: 2021/12/19 周日 輸入新日期: (年月日) input code: HELP 有關(guān)某個命令的詳細信息,請鍵入 HELP 命令名 ASSOC ? ? ? ? ?顯示或修改文件擴展名關(guān)聯(lián)。 ATTRIB ? ? ? ? 顯示或更改文件屬性。 BREAK ? ? ? ? ?設置或清除擴展式 CTRL+C 檢查。 BCDEDIT ? ? ? ?設置啟動數(shù)據(jù)庫中的屬性以控制啟動加載。 # 由于太長,且和命令行中輸入HELP的結(jié)果是一樣的,所以這里就省略了 有關(guān)工具的詳細信息,請參閱聯(lián)機幫助中的命令行參考。 input code: exit ? ? ? ?#退出
通過system,可以做一個增強版的命令行。
而除了這些終端提供的命令之外,可能還需要一些自定義的語句,這些語句都被存放在環(huán)境變量中,getenv可以獲取名字對應的環(huán)境變量
char *getenv(const char *name)
例如:
#include <stdio.h>
#include <stdlib.h>
int main ()
{
? ?printf("PATH : %s\n", getenv("PATH"));
? ?return 0;
}其運行結(jié)果為:
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
....
到此這篇關(guān)于C語言利用system調(diào)用系統(tǒng)命令行詳情的文章就介紹到這了,更多相關(guān)C語言利用system調(diào)用系統(tǒng)命令行內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語言深入刨析數(shù)據(jù)結(jié)構(gòu)之棧與鏈棧的設計與應用
棧是限定僅在表尾進行插入或刪除操作的線性表,表尾稱為棧頂(top),表頭稱為棧底(bottom)。棧的最主要特點就是“先進后出”(FILO),或“后進先出”(LIFO)。用鏈式存儲結(jié)構(gòu)表示的棧稱為“鏈?!?,鏈棧對應于鏈表2022-05-05
結(jié)合C++11新特性來學習C++中l(wèi)ambda表達式的用法
這篇文章主要介紹了C++中l(wèi)ambda表達式的用法,lambda表達式的引入可謂是C++11中的一大亮點,同時文中也涉及到了C++14標準中關(guān)于lambda的一些內(nèi)容,需要的朋友可以參考下2016-01-01
c++中臨時變量不能作為非const的引用參數(shù)的方法
下面小編就為大家?guī)硪黄猚++中臨時變量不能作為非const的引用參數(shù)的方法。小編覺得挺不錯的現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01
C++的try塊與異常處理及調(diào)試技術(shù)實例解析
這篇文章主要介紹了C++的try塊與異常處理及調(diào)試技術(shù)實例解析,有助于讀者加深對try塊調(diào)試技術(shù)的認識,需要的朋友可以參考下2014-07-07

