C Proqramlaşdırmasında Komanda Xətti Arqumentləri

Komanda xətti mübahisələri

Hər hansı bir proqram giriş və çıxışdan ibarətdir. Girişlər istifadəçi tərəfindən klaviatura, fayllar və ya əmr sətirlərindən istifadə edərək verilir. Klaviaturadan (scanf, getchar, gets) və fayllardan (fscanf, fgetc, fgets) dəyərlərin necə əlavə ediləcəyini artıq gördük. C, əmr satırından istifadə edərək dəyərləri proqrama daxil etmək üçün başqa bir metod təqdim edir. Bu metodda giriş dəyərləri proqramın özü icra edilərkən ötürülür. Proqram hər dəfə icra edildikdə, arqumentləri giriş dəyərləri kimi ötürməliyik və tələbdən asılı olaraq hər dəfə fərqli ola bilər.

Burada Cprograms, yerinə yetirilməsi lazım olan çalıştırılabilir proqram adıdır, (10, 20, 30), proqramı icra edərkən verilən proqramın giriş dəyərləridir. Tamsayı dəyərinə ehtiyac yoxdur, hər hansı bir məlumat növü ola bilər.

Bu giriş dəyərləri main () funksiyasının parametrləri ilə tutulur. Komanda xəttindən istifadə edərək giriş dəyərlərini ötürdükdə aşağıdakı funksiyaya əsas parametrlərə giriş parametrlərinə sahib olmalıyıq:

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

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

burada tip əsas funksiyanın qaytarma dəyərinin məlumat növüdür. Arqument argc, komanda xətti ilə ötürülən arqumentlərin ümumi sayını ehtiva edən tam ədədi arqumentdir. Yuxarıdakı nümunədə komanda xəttindən keçən 4 arqumentimiz var. Hətta yürütülebilir proqram adı da ötürülmüş arqumentlərdən biri kimi qəbul edilir. Arqument sayı N arqumenti üçün 0-dan N-1-ə qədər başlayır. Növbəti parametr simvollara bir sıra göstəricisi olan argv-dir. Əslində əmr sətrində ötürülmüş arqumentlərin siyahısını ehtiva edir. Yuxarıdakı nümunədə argv [0] = Cprograms, argv [1] = 10, argv [2] = 20 və argv [3] = 30.

Proqramın altında argc və argv-də istifadəsi və dəyəri göstərilir.

#include 

int main(int argc, char *argv[]){
	printf("Total Number of Arguments passed to the program : %d", argc);

	printf("\nArguments passed to the program are:\n");
	for (int i = 0; i < argc; i++)
		printf("%s\n", argv[i]);
}

Şərh yaz

Translate »