Hai tham số của main cho phép chương trình nhận tham số dòng lệnh (command-line arguments).
- argc (argument count): Số lượng tham số, luôn ≥ 1 (tên chương trình là tham số đầu tiên).
- argv (argument vector): Mảng con trỏ char (chuỗi C-style),
argv[0]là tên chương trình,argv[1]...argv[argc-1]là các tham số người dùng.
Khai báo tương đương
int main(int argc, char *argv[]) int main(int argc, char **argv)
Ví dụ mã
#include <iostream>
using namespace std;
int main(int argc, char** argv) {
cout << "Chương trình có " << argc << " tham số:\n";
for (int i = 0; i < argc; ++i)
cout << "argv[" << i << "] = " << argv[i] << '\n';
return 0;
}
Chạy và kết quả
$ ./myprogram hello world 123 Chương trình có 4 tham số: argv[0] = ./myprogram argv[1] = hello argv[2] = world argv[3] = 123
Lưu ý: Trên Windows, argv[0] có thể là đường dẫn đầy đủ. Các tham số được tách bởi khoảng trắng, dùng dấu nháy cho tham số chứa khoảng trắng: "./prog "hello world"".