Nội dung bài viết
Fi Nguyễn Đối số dòng lệnh là các đối số chuỗi tùy mà người dùng có thể cung cấp cho một chương trình khi thực thi. Các đối số được truyền thông qua hệ điều hành vào chương trình và chương trình có thể sử dụng nó như là input.

Giới thiệu

Đối số dòng lệnh (tham số dòng lệnh) là những giá trị khá quan trọng cho chương trình của bạn, đặc biệt khi bạn muốn kiểm soát chương trình của bạn từ bên ngoài thay vì mã hóa những giá trị bên trong mã.

Tiền đề bài viết

Trong quá trình học tập, tôi đã được biết đến nội dung của đối số dòng lệnh. Hôm nay, tôi sẽ sử dụng những kiến thức của mình để giúp mọi người hiểu rõ hơn về đối số dòng lệnh.

Đối tượng hướng đến

Bài viết dành cho những lập trình viên muốn hiểu rõ hơn về đối số dòng lệnh và làm quen với một số thao tác cơ bản trên Command Line.

Đối số dòng lệnh là gì?

Đối số dòng lệnh là các đối số chuỗi tùy ý mà người dùng có thể cung cấp cho một chương trình khi thực thi. Các đối số được truyền thông qua hệ điều hành của chương trình và chương trình có thể sử dụng nó như input. Để sử dụng các đối số dòng lệnh trong chương trình, bạn phải khai báo đầy đủ trong hàm main bao gồm hai đối số: số đối số dòng lệnh và danh sách các đối số dòng lệnh.

Cú pháp

int main (int <số đối số dòng lệnh>, char <Danh sách các đối số dòng lệnh>)

Làm thế nào để sử dụng nó?

Sau đây sẽ là 2 ví dụ minh họa để các bạn có thể hiểu rõ hơn về đối số dòng lệnh.

Ví dụ 1

Khởi tạo một chương trình tên file Project là DSLD có nội dung như sau:

int main( int argc, char *argv[])
{
	for( i = 0; i < argc; i ++)
	{
		cout << argv[i] << "";
	}
	
	return 0;
}
  • Bước 1: Debug chương trình.
  • Bước 2: Về màn hình desktop ấn tổ hợp phím Windows + R để mở của sổ Run.
  • Bước 3: Gõ cmd chọn OK để mở cửa sổ Command Line.
  • Bước 4: Đưa đường dẫn chứa file DSDL.exe và nhập đối số, mỗi đối số cách nhau bằng một khoảng trắng . Ở đây, tôi sẽ nhập "DSDL.exe" để Command line chạy file này và nhập các đối số “Hello world”. Ngoài ra, bạn cũng có thể nhập “DSDL“ vì command line sẽ hiểu rằng bạn muốn chạy file DSDL.exe.

ss_1

Kết quả chương trình sẽ in ra: “DSDL.exe Hello World”. Lúc này số đối số sẽ là argc bằng 3, tương ứng với 2 đối số mà tôi vừa nhập vào và tên của file .exe trong thư mục debug. Lúc này, tên file DSDL.exe chính là argv[0] và argv[1] =”Hello”, argv[2] = “World”.

ss_2

Ví dụ 2

Khởi tạo chương trình như sau, trong đó change( char* Str) là hàm chuẩn hóa chuỗi thành số kiểu int. Ở ví dụ này, tôi sẽ cộng 2 đối số lại với nhau:

int cStringToInt(char* str) 
{
	int temp = 0;
	int sign = 1;
	if (*str == '-')
	{
		sign = -1;
		str++;
	}
	while (*str>='0' && *str <='9') 
	{
		temp *= 10;
		temp += (int)(*str - '0');
		str++;
	}
	return temp * sign;
}

int main(int argc, char *argv[])
{
	int a = cStringToInt(argv[1]);
	int b = cStringToInt(argv[2]);
	cout << "a + b = " << a + b;
	return 0;
}

Thao tác tương tự như ví dụ 1. Sau đó, Tôi sẽ truyền vào 2 giá trị của argv[1] = 3 và argv[2] = 5.

ss_3

Kết quả chương trình:

ss_4

THẢO LUẬN
ĐÓNG