30/09/2018, 16:07
Pointers to Functions và Command-line Arguments là gì?
Đọc trong sách thì gặp 2 phần này, nhưng rất khó hiểu.Cụ thể:
#include <stdio.h>
/* echo command-line arguments; 1st version */
main(int argc, char *argv[])
{
int i;
for (i = 1; i < argc; i++)
printf("%s%s", argv[i], (i < argc-1) ? " " : "");
printf("
");
return 0;
Sao trong code trên, ở chỗ hàm main
lại có thêm 2 tham số int argc,char *argv[]
chi vậy. Nhờ mọi người giải thích giúp mình với.
Bài liên quan
Hàm main cũng là 1 hàm, cũng có thể có tham số đầu vào. Trong 1 số trường hợp, người ta muốn truyền tham số vào cho chương trình (Ví dụ chương trình khi mới chạy thì đọc file mytext1.txt, mytext2.txt) thì bạn phải truyền 2 file vào cho nó và bạn có thể dùng command line chạy như sau:
"C:\Users\cscott\Documents\myApp.exe" mytext1.tx, mytext2.tx
Trong hàm main:
argc : Số lượng tham số truyền vào. Ở đây là 2
char *argv[] : mảng chứa danh sách các tham số. Ở đây mytext1.tx, mytext2.tx
. Dựa vào số lượng ham số ở trên để biết có bao nhiêu tham số ta có thể lấy.Đó là kiến thức những gì mình nhớ được. Có gì anh @ltd vào xem có bổ sung gì không nhé a.
Lên đây để biết thêm chi tiết bạn nhé
Mọi người đã nói đầy đủ rồi, cảm ơn @tuancoi2506 và @Dung_Kon. Đạt đang viết C trên linux, nên dùng những chương trình sử dụng tham số hàm main rất nhiều. Tuy nhiên, cũng hiếm khi đụng tới phần code này vì người khác làm hết rồi. Khi nào có lỗi thì mới google hoặc dở tại liệu cũ ra xem. Nhưng ý của các bạn trong topic này giải thích đúng về nguyên tắc hoạt động của nó.
Đạt chưa xem video của @Dung_Kon post, nhưng hi vọng là nó đúng hehe. @14520054 coi xong nhận xét xem nội dung video có dễ hiểu không nhé
Cảm ơn mọi mọi người về những nội dung kiến thức trên.
Video này dễ hiểu, hồi trước em học cũng cái đối số dòng lệnh này chẳng hiểu nó là gì cả, lên youtube search thì thấy và thấy rất dễ hiểu. Anh cứ yên tâm em trùm youtube đó, cũng nhờ mấy cái video của anh định hướng đó
Nếu bạn không hiểu thì có thể liên hệ facebook mình, có gì mình sẵn sàng giúp @14520054
Cảm ơn bạn, nếu có gì không hiểu mình sẽ hỏi tích cực luôn.
cho mình hỏi khi mình code C thì ko build được ra file exe, thì mở command prompt lên và code như nào ạ.
Mình đính chính 1 tí là số tham số argc sẽ là 3, vì nó nhận chính tên file của nó là 1 tham số. Hay nói cách khác, command line của mình gõ bao nhiêu string, thì nó sẽ nhận bấy nhiêu string là tham số (bao hàm cả string gọi nó) cái này nó hơi khác với Java