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
-

Stt về tiền hài hước, những câu nói hài hước về tiền nhưng thâm thúy, ‘thô mà thật’
Hôm qua -

Cách chia sẻ một thư mục (folder) trên Windows 10
Hôm qua -

Tổng hợp thao tác Touchpad trên Windows 10, Windows 11
Hôm qua -

Sửa lỗi 0x80070643 trên Windows
Hôm qua -

Công thức tính chu vi hình tứ giác, diện tích hình tứ giác
Hôm qua 1 -

Những stt hay nói về miệng lưỡi thế gian đáng để suy ngẫm
Hôm qua -

Cách cho người lạ xem Nhật ký Zalo
Hôm qua -

Những trang web đen siêu hay không thể tìm thấy trên Google
Hôm qua 3 -

30+ bài thơ về rượu bia hay, thơ chế về rượu bia hài hước và bá đạo cho dân nhậu
Hôm qua -

Cài đặt Python Package với PIP trên Windows, Mac và Linux
Hôm qua
Học IT
Công nghệ
Microsoft Word 2013
Microsoft Word 2007
Microsoft Excel 2019
Microsoft Excel 2016
Microsoft PowerPoint 2019
Google Sheets
Lập trình Scratch
Bootstrap
Hướng dẫn
Ô tô, Xe máy