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
![❖](https://st.quantrimang.com/photos/avatars/default.png)
![❖](https://st.quantrimang.com/photos/image/icon/lap-trinh-c-size-24x24-znd.png)
Cũ vẫn chất
-
Cách xem phiên bản di động của một trang web bất kỳ trên máy tính
Hôm qua -
Câu nói hay về người thứ ba, stt về người thứ ba trong tình yêu thâm thúy
Hôm qua -
Lực ma sát là gì? Có mấy loại lực ma sát?
2 ngày 1 -
Hướng dẫn thiết lập và quản lý FTP Server trên Windows 10
2 ngày -
11 thủ thuật mở Local Group Policy Editor trên Windows
Hôm qua -
Hướng dẫn cách kẻ chéo ô trong Excel
2 ngày -
Cách view source, xem mã nguồn trang web bằng điện thoại, máy tính
Hôm qua 1 -
46 câu ca dao hài hước, châm biếm hay nhất
2 ngày -
Những status cảm động níu kéo người yêu cũ
2 ngày -
Quay màn hình máy tính bằng OBS Studio, cách ghi màn hình laptop trên OBS
2 ngày