C-də argc, argv

Salamlar cavablar.net əhlinə 🙂

int main(int argc, char *argv[]){
//Operations
}

Burada mötərizədəki (int argc, char *argv[]) hissənin mənası nədir? Birdə char *argc[] yerinə **argc yazanda da işləyir eyni şeydi bunlar?


Yadda saxlama
Kateqoriya: Sual . . Qısa keçid.

Verilmiş cavablar və yazılan şərhlər (1 cavab var)

(20:48, 21/08/2015 ) #57744

Salam.

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

main funksiyası.

proqramın icraya başlama yeri. iki arqument qəbul edir:
tam tipli argc,
char ** tipli argv.

İzahı: bu arqumentlər proqrama ötürülən arqumentlər adlanır, yəni proqramı yükləyən istifadəçinin həmin proqrama ötürdüyü arqumentlər. argc , argument count main -ə ötürülən arqumentlərin sayını bildirir, qiymətlər isə argv -da saxlanılır – argument value. aşağıdakı proqram nümunəsində onların mənası izah olunur.


#include 

using namespace std;

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

	int i;

	  cout<<"main funksiyasinin arqmentleri \n";

	  cout<<"arqmentlerin sayi "<<argc<<"\n";

	  cout<<"arqmentler \n";

	  for (i=0; i<argc; ++i)
		  cout<<"arg["<<i<<"] = "<<"\""<<argv[i]<<"\"\n";

}

Test:


C:\Users\Aspire>
C:\Users\Aspire>
C:\Users\Aspire>prg
main funksiyasinin arqmentleri
arqmentlerin sayi 1
arqmentler
arg[0] = “prg”

C:\Users\Aspire>prg hey
main funksiyasinin arqmentleri
arqmentlerin sayi 2
arqmentler
arg[0] = “prg”
arg[1] = “hey”

C:\Users\Aspire>prg hey salam
main funksiyasinin arqmentleri
arqmentlerin sayi 3
arqmentler
arg[0] = “prg”
arg[1] = “hey”
arg[2] = “salam”

C:\Users\Aspire>

argv cərgəsinin ilk elementi argv[0] həmişə proqramın adını özündə saxlayır.

char **argv ilə char *argv[] və ya char argv[][] hər üçü eyni şeydir. char tipli ikiqat göstərici. C -də göstəricilər ilə cərgələrin (array) əlaqəsi bu cür yazılışa imkan verir.

Aşağıdakı keçiddə bu arqumentlərdən istifadəyə aid nümunə göstərilir:
http://ilkaddimlar.com/Unix/765/Fayllar
2.4 Close sistem çağırışı bölməsinin prg_2_1.c nümunə proqramının izahına baxmalı.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

Bu suala aid öz sualım var:
Sual verin
Bu suala cavab vermək istəyirəm:
Cavab verin

Cavab verin


Cavab yazmaq üçün lütfən sağ sütundan və ya buradan hesaba daxil olun.

Üzvlər üçün giriş

Qeydiyyat

Elan qutusu

Son cavablar və şərhlər

Software Developer cavab verdi - Wise vasitəsilə bank kartına pul köçürmə (8 saat əvvəl)

Software Developer cavab verdi - Rus dilindən mətni tərcümə etmək (1 gün əvvəl)

Cənab cavab verdi - Almanca söz bazası yığmaq (3 gün əvvəl)

rdrobert cavab verdi - Mikrofon süngərinə yazı (4 gün əvvəl)

rdrobert cavab verdi - Yerli virtual olaraq dost tapmaq platforması (4 gün əvvəl)

rdrobert cavab verdi - Almanca söz bazası yığmaq (4 gün əvvəl)

rdrobert cavab verdi - Playstation 4 almaq, Playsation klub açmaq (4 gün əvvəl)

rdrobert cavab verdi - Proqramistin ixtsasi hansidir? (4 gün əvvəl)

Software Developer cavab verdi - Azercell Kabinetim aplikasiyasında İstəSən tarifi haqqında (6 gün əvvəl)

Software Developer cavab verdi - Proqramistin ixtsasi hansidir? (6 gün əvvəl)

byshako cavab verdi - Google Azərbaycan nömrələrini qəbul etmir (16 gün əvvəl)

rdrobert cavab verdi - Honeygain, passiv gelir (17 gün əvvəl)

rdrobert cavab verdi - Xaricdən telefon getirmek (17 gün əvvəl)

rdrobert cavab verdi - Google Azərbaycan nömrələrini qəbul etmir (17 gün əvvəl)

rdrobert cavab verdi - AliExpress, Telefon, Rüsum (17 gün əvvəl)

Software Developer - 615 xal

E. Hacı - 607 xal

Onar Alili - 526 xal

Dilsuz - 448 xal

Cabbarov Sübhan - 434 xal

Maqa - 346 xal

Ruslan Butdayev - 328 xal

Namiq Bəndəli - 297 xal

U.Tarlan - 244 xal

Meherremoff - 234 xal

Sistemə daxil olmuş 23234 sualdan 92%-dən çoxu cavablandırılmışdır.

Proyekt haqqında

E-Haci.net istehsalı. © 2010-2024