Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

ฟังก์ชัน System() ใน C/C++


กำหนดให้แสดงการทำงานของ system() ใน C/C++

ฟังก์ชัน system() เป็นส่วนหนึ่งของไลบรารีมาตรฐาน C/C++ ใช้สำหรับส่งคำสั่งที่สามารถดำเนินการในตัวประมวลผลคำสั่งหรือเทอร์มินัลของระบบปฏิบัติการ และสุดท้ายจะส่งคืนคำสั่งหลังจากเสร็จสิ้น

ควรรวม หรือ เพื่อเรียกใช้ฟังก์ชันนี้

ไวยากรณ์

ไวยากรณ์มีดังนี้ −

int system(char command)

ฟังก์ชันนี้จะคืนค่าศูนย์หากดำเนินการคำสั่งโดยไม่มีข้อผิดพลาด

ตัวอย่าง

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

คำอธิบาย − ตัวอย่างต่อไปนี้แสดงให้เห็นว่าเราสามารถใช้ฟังก์ชันระบบเพื่อแสดงวันที่ปัจจุบันได้อย่างไร เอาต์พุตจะแสดงอยู่ภายในตัวประมวลผลคำสั่งของระบบปฏิบัติการ นี่แสดงให้เห็นว่าเราสามารถใช้ฟังก์ชัน system() เพื่อรันคำสั่งเทอร์มินัลหรือคำสั่งที่ใช้ในตัวประมวลผลคำสั่งได้อย่างไร

ตัวอย่าง

Input: system(“color a”)
Output:

ฟังก์ชัน System() ใน C/C++

ตัวอย่างต่อไปนี้แสดงให้เห็นว่าเราสามารถใช้ฟังก์ชัน system() ได้อย่างไรโดยเพียงแค่ส่งสตริงเข้าไปซึ่งมีคำสั่งที่จะดำเนินการ ในที่นี้เราได้ให้คำสั่ง “color a” ที่ใช้ในการเปลี่ยนสีของข้อความในตัวประมวลผลคำสั่งและทำงานได้อย่างถูกต้อง

แนวทางที่ใช้ในโปรแกรมด้านล่างดังนี้

  • ขั้นแรกให้สร้างตัวแปรประเภท char และกำหนดขนาดที่เหมาะสม สมมติว่า cmd[10] เพื่อให้สตริงนี้ใช้สำหรับจัดเก็บคำสั่งได้
  • จากนั้นใช้ฟังก์ชัน strcpy() เพื่อจัดเก็บคำสั่งที่ต้องการลงในสตริงที่เราสร้างไว้ก่อนหน้านี้ (รวมถึงไฟล์ส่วนหัว เพื่อใช้ฟังก์ชัน strcpy())
  • ตอนนี้ส่งสตริงที่จัดเก็บคำสั่งไปยังฟังก์ชันของระบบ

อัลกอริทึม

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

ที่นี่เราได้ให้คำสั่งฟังก์ชันระบบ "dir" เป็นอินพุต ดังนั้นในทางกลับกัน จะแสดงไดเร็กทอรีทั้งหมดที่มีอยู่ในคอมพิวเตอร์เป็นเอาต์พุต

สามารถใช้วิธีการต่อไปนี้เพื่อตรวจสอบว่าตัวประมวลผลคำสั่งมีอยู่ในระบบปฏิบัติการหรือไม่

ซึ่งสามารถทำได้โดยส่งตัวชี้ Null ไปที่ฟังก์ชัน 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;
}