Hi, Phòng khách!
Trang chủ
Đăng nhập
Công Cụ Tìm Kiếm

Lần hoạt động

| |
Tìm kiếm

  Tham số dòng lệnh trong C

Bài viết được duyệt bởi PuaruVN
Đăng ngày :22.05.2016 / 20:47[TOP]
Xampp
Xampp
Active Member
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 linecho 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ì biên mã 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:

Mã Code Vina4u
#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:

Mã Code Vina4u
$./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:

Mã Code Vina4u
$./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:

Mã Code Vina4u
$./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 (“”).

Mã Code Vina4u
#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:
Mã Code Vina4u
$./a.out "thamso1 thamso2"

Ten chuong trinh la: ./a.out
Tham so duoc cung cap la: thamso1 thamso2
Bình luận bài viết
Đăng Nhập để Bình luận và sử dụng đầy đủ tính năng Diễn Đàn
  Tổng số: 1 Bình luận

Chia sẻ bài viết
Đám Mây Từ Khóa
Bài Viết Cùng chuyên mục
Lọc theo tác giả
Xem chủ để ngoại tuyến (Offline)

Trong diễn đàn

Sắp xếp theo thứ tự từ trên xuống
BigTruyen.info - Kho Truyện Tranh Online Khổng lồ
Trang chủ