Nhiệm vụ: trình bày hoạt động của system() trong C/C++.
system() là hàm thư viện chuẩn C/C++. Dùng để truyền lệnh thực thi trong command processor hoặc terminal của OS, trả về sau khi lệnh hoàn tất.
Cần include
Cú pháp
int system(char command)
Trả về 0 nếu lệnh thực thi không lỗi.
Ví dụ
Input: system("date")
Output: The current date is: Fri 12/27/2019
Giải thích – Ví dụ dùng system() hiển thị ngày hiện tại. Kết quả hiển thị trong command processor. Minh họa system() thực thi lệnh terminal.
Ví dụ
Input: system("color a")
Output: (màn hình đổi màu chữ)

Ví dụ truyền chuỗi lệnh "color a" đổi màu chữ trong command processor.
Cách tiếp cận chương trình dưới:
- Tạo biến char cmd[10] lưu lệnh.
- Dùng strcpy() lưu lệnh vào chuỗi (include
). - Truyền chuỗi vào system().
Thuật toán
Start
Step 1 -> function main()
Khai báo char cmd[10]
Gọi strcpy(cmd, "dir")
Gọi system(cmd)
Stop
Ví dụ
#include#include #include using namespace std; int main() { char cmd[10]; strcpy(cmd,"dir"); system(cmd); return 0; }
Kết quả
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
Lệnh "dir" liệt kê thư mục.
Kiểm tra command processor có sẵn không:
Truyền con trỏ NULL vào system(). Nếu trả về non-zero -> command processor tồn tại. Trả về 0 -> không tồn tại, không gọi được system().
Ví dụ
#include#include using namespace std; int main() { if(system(NULL)) cout << "Command Processor is present"; else cout << "Command processor is not present"; return 0; }