Tham số dòng lệnh trong C
Chương này chỉ thực sự có ý nghĩa với bạn nếu bạn đang sử dụng command promt để biên dịch chương trình. Nó là có thể để truyền các giá trị từ dòng lệnh – command line cho chương trình C khi nó được thực hiện. Những giá trị này được gọi là Tham số dòng lệnh - command line argument và nhiều khi rất quan trọng cho chương trình của bạn khi bạn điều khiển chương trình của bạn bên ngoài thay vì mã hóa thô những giá trị bên trong đoạn code.
Các tham số dòng lệnh được xử lý bởi sử dụng các tham số hàm main(), với argc hướng đến số lượng tham số bạn truyền và argv[] là mảng con trỏ hướng đến bất kì tham số nào cung cấp cho chương trình đó. Dưới đây là ví dụ kiểm tra nếu có bất kỳ tham số được cung cấp từ dòng lệnh và thực hiện các hành động tương ứng:
#include <stdio.h>
int main( int argc, char *argv[] )
{
if( argc == 2 )
{
printf("Tham so duoc cung cap la: %s\n", argv[1]);
}
else if( argc > 2 )
{
printf("Qua nhieu tham so duoc cung cap.\n");
}
else
{
printf("Ban nen cung cap mot tham so.\n");
}
}
Khi đoạn code trên được biên dịch và thực thi với 1 tham số, nó sẽ in ra kết quả sau:
$./a.out thamso1
Tham so duoc cung cap la: thamso1
Khi bạn truyền 2 tham số cho đoạn code trên nó sẽ in ra kết quả sau đây:
$./a.out thamso1 thamso2
Qua nhieu tham so duoc cung cap.
Khi đoạn code trên được thực hiện và thực thi với không có tham số nào được truyền vào, nó sẽ in ra kết quả dưới đây:
$./a.out
Ban nen cung cap mot tham so.
Chú ý rằng argv[0] giữ giá trị tên của chính chương trình và argv[1] là một con trỏ đến tham số dòng lệnh đầu tiên đã cung cấp, argv[n] là tham số cuối. Nếu không có tham số nào được cung cấp, argc sẽ là 1, nếu bạn truyền 1 tham số thì sau đó argc có giá trị 2.
Bạn truyền tất cả tham số dòng lệnh riêng rẽ nhau bởi khoảng trắng, những nếu các tham số tự nó có một khoảng trắng thì bạn có thể truyền các tham số này bởi đặt chúng trong dấu trích dẫn kép ("") hoặc trích dẫn đơn (''). Bây giờ chúng ta viết lại chương trình trên khi bạn in ra tên chương trình và truyền các tham số dòng lệnh đặt bên trong dấu trích dẫn kép ("").
#include <stdio.h>
int main( int argc, char *argv[] )
{
printf("Ten chuong trinh la: %s\n", argv[0]);
if( argc == 2 )
{
printf("Tham so duoc cung cap la: %s\n", argv[1]);
}
else if( argc > 2 )
{
printf("Qua nhieu tham so duoc cung cap.\n");
}
else
{
printf("Ban nen cung cap mot tham so.\n");
}
}
Khi đoạn code trên được biên dịch và thực hiện với một tham số đơn riêng rẽ bởi dấu cách bên trong dấu trích dẫn kép, kết quả sau đây được in ra:
$./a.out "thamso1 thamso2"
Ten chuong trinh la: ./a.out
Tham so duoc cung cap la: thamso1 thamso2
Theo Tutorialspoint
Bài trước: Quản lý bộ nhớ trong C
Bài tiếp: C++ là gì ?
Bạn nên đọc
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:


Cũ vẫn chất
-
Top 9 phần mềm giả lập PC trên Android
Hôm qua -
Chuyển từ cơ số 2 sang cơ số 16
Hôm qua -
Hướng dẫn tải nhạc trên Tik Tok nhanh chóng, đơn giản
Hôm qua -
Cách sử dụng ứng dụng Android trên Chromebook
Hôm qua -
Cách xóa và gỡ cài đặt hoàn toàn ứng dụng trên Android
Hôm qua -
Hướng dẫn thay đổi mật khẩu Spotify
Hôm qua -
Huyền Thoại Hải Tặc - Hải Tặc Đại Chiến
-
6 cách kiểm tra số dư tài khoản Vietinbank nhanh chóng
Hôm qua -
Cách chặn tìm kiếm Zalo qua số điện thoại
Hôm qua -
6 cách kiểm tra số dư tài khoản Agribank nhanh chóng, chính xác
Hôm qua