system() เป็นส่วนหนึ่งของ standard library ใช้ส่งคำสั่งให้ command processor หรือ terminal ของ OS รัน และคืนค่าหลังจบ
ต้อง include <stdlib.h> หรือ <cstdlib>
ไวยากรณ์
int system(char *command)
คืนค่า 0 ถ้าสำเร็จ ไม่มี error
ตัวอย่าง
Input: system("date")
Output: The current date is: Fri 12/27/2019ใช้ system() รันคำสั่ง terminal เช่น date
ตัวอย่างเปลี่ยนสี
Input: system("color a")
Output: (เปลี่ยนสีข้อความใน command processor)แนวทางเขียนโปรแกรม
- สร้างตัวแปร char array เช่น cmd[10]
- ใช้ strcpy() copy คำสั่งเข้า cmd (include <string.h>)
- ส่ง cmd เข้า system()
อัลกอริทึม
Start
Step 1: main()
Declare char cmd[10]
strcpy(cmd, "dir")
system(cmd)
Stopตัวอย่างโค้ด
#include <iostream>
#include <stdlib.h>
#include <string.h>
using namespace std;
int main() {
char cmd[10];
strcpy(cmd, "dir");
system(cmd);
return 0;
}ผลลัพธ์
12/25/2019 10:04 AM. 12/25/2019 06:33 AM .. 12/24/2019 09:56 AM 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 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
วิธีตรวจสอบว่า command processor พร้อมใช้งาน: ส่ง NULL pointer เข้า system() ถ้าคืนค่า non-zero = พร้อมใช้งาน
ตัวอย่างตรวจสอบ
#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;
}