Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Ý nghĩa int argc, char *argv[] trong C++

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"".