C/C++ 中的 system() 函式


本任務旨在演示 C/C++ 中 system() 函式的工作原理。

system() 函式是 C/C++ 標準庫的一部分。它用於傳遞可在作業系統命令處理器或終端中執行的命令,並在命令完成後返回結果。

需要包含 <stdlib.h><cstdlib> 來呼叫此函式。

語法

語法如下:

int system(char command)

如果命令執行沒有錯誤,則此函式返回零。

示例

Input: system(“date”)
Output: The current date is: Fri 12/27/2019

說明 − 下面的示例演示瞭如何使用 system 函式顯示當前日期。輸出顯示在作業系統的命令處理器中。這展示瞭如何使用 system() 函式執行終端命令或命令處理器中的命令。

示例

Input: system(“color a”)
Output:

下面的示例演示瞭如何簡單地將包含要執行命令的字串傳遞給 system() 函式。這裡給出了“color a”命令,用於更改命令處理器中文字的顏色,並且這裡可以正常工作。

下面程式中使用的步驟如下

  • 首先建立一個 char 型別的變數並賦予其適當的大小,例如 cmd[10],以便此字串可用於儲存命令。
  • 然後使用 strcpy() 函式將所需的命令儲存到之前建立的字串中。(為了使用 strcpy() 函式,請包含 <string.h> 標頭檔案)
  • 現在將儲存命令的字串傳遞給 system 函式。

演算法

Start
Step 1-> In function main()
   Declare a char cmd[10]
   Call function strcpy(cmd, “dir”)
   Call function system(cmd)
Stop

示例

#include <iostream>
#include<stdlib.h>
#include<string.h>
using namespace std;
int main() {
   char cmd[10];
   strcpy(cmd,"dir");
   system(cmd);
   return0;
}

輸出

如果我們執行上面的程式碼,它將生成以下輸出:

12/25/2019 10:04 AM <DIR> .
12/25/2019 06:33 AM <DIR> ..
12/24/2019 09:56 AM <DIR> bin
12/25/2019 10:04 AM 183 main.cpp
12/25/2019 10:04 AM 1,564,278 main.exe
12/25/2019 06:33 AM 1,046 main.o
12/24/2019 06:33 AM <DIR> obj
12/24/2019 06:33 AM 1,062 Test.cbp
12/24/2019 06:36 AM 358 Test.layout
5 File<s> 1,566,927 bytes
4 Dir<s> 169,866,692,120 bytes free

這裡我們給 system 函式輸入了 "dir" 命令,因此它將返回計算機中所有目錄作為輸出。

可以使用以下方法檢查作業系統中是否存在命令處理器

這可以透過將 空指標 傳遞給 system() 函式來完成。如果系統返回非零值,則表示命令處理器可用。

否則,如果系統返回零,則表示命令處理器不存在,並且無法呼叫 system() 函式。

示例

#include <iostream>
#include<stdlib.h>
using namespace std;
int main() {
   if(system(Null))
      cout<<”Command Processor is present”;
   else
      cout<<”Command processor is not present”;
   return 0;
}

更新於:2023年9月6日

36K+ 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.