int argc, char *argv[] ne anlama geliyor?

Birçok C++ IDE'sinde ve derleyicisinde, sizin için ana işlevi oluşturduğunda, aşağıdaki gibi görünür:

int main(int argc, char *argv[])

Bir IDE olmadan, sadece komut satırı derleyicisi ile C++ kodladığımda, şunu yazıyorum:

int main()

herhangi bir parametre olmadan. Bu ne anlama geliyor ve programım için hayati önem taşıyor mu?

Çözüm

argvveargckomut satırı argümanlarının C ve C++'damain()` fonksiyonuna nasıl aktarıldığını gösterir.

argc,argv` tarafından işaret edilen dizelerin sayısı olacaktır. Bu (pratikte) 1 artı argüman sayısı olacaktır, çünkü neredeyse tüm uygulamalar programın adını dizinin başına ekleyecektir.

Değişkenler geleneksel olarak argc (argüman sayısı) ve argv (argüman vektörü) olarak adlandırılır, ancak bunlara herhangi bir geçerli tanımlayıcı verilebilir: int main(int num_args, char** arg_strings) eşit derecede geçerlidir.

Komut satırı argümanlarını işlemeyi düşünmüyorsanız, int main() sonucunu vererek tamamen atlanabilirler.

Aşağıdaki programı deneyin:


#include 

int main(int argc, char** argv) {
    std::cout 
Yorumlar (11)

argckomut satırından programınıza aktarılan argüman sayısı veargv` argüman dizisidir.

Sayılarını bilerek argümanlar arasında döngü yapabilirsiniz:

for(int i = 0; i < argc; i++)
{
    // argv[i] is the argument at index i
}
Yorumlar (0)

mainparametreleri, program başlatıldığında programa sağlanan komut satırı parametrelerini temsil eder. argc parametresi komut satırı bağımsız değişkenlerinin sayısını temsil eder ve char *argv[] komut satırında sağlanan bağımsız değişkenleri temsil eden dizelerden (karakter işaretçileri) oluşan bir dizidir.

Yorumlar (2)