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

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

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)

แนวทางเขียนโปรแกรม

  1. สร้างตัวแปร char array เช่น cmd[10]
  2. ใช้ strcpy() copy คำสั่งเข้า cmd (include <string.h>)
  3. ส่ง 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;
}