Mozilla Türkiye Gönüllü Topluluğu Blog

C Öğreticisi 28 (Komut Satırı Argümanları) (SON)


Bu yazılar https://www.tutorialspoint.com/cprogramming/ adresindeki yazı dizilerinin çevirileridir.

Bazı değerleri yürütüldüklerinde komut satırından C programlarınıza iletmek mümkündür. Bu değerlere komut satırı argümanları denir ve çoğu kez programınız için özellikle kod içindeki bu değerleri sabit kodlamak yerine dışarıdan kontrol etmek istediğinizde önemlidir.

Komut satırı bağımsız değişkenleri main () fonksiyonu bağımsız değişkenleri kullanılarak işlenir; burada argc, iletilen bağımsız değişkenlerin sayısını belirtir ve argv [], programa iletilen her bağımsız değişkeni işaret eden bir işaretçi dizisidir. Aşağıda, komut satırından sağlanan herhangi bir argüman olup olmadığını kontrol eden ve buna göre hareket eden basit bir örnek verilmiştir -

	
#include 
int main( int argc, char *argv[] ) {
if( argc == 2 ) {
printf(“Verilen argüman %s\n”, argv[1]);
}
else if( argc > 2 ) {
printf(“Cok fazla arguman verildi.\n”);
}
else {
printf(“Bir arguman beklenmisti.\n”);
}
}
	

Kod bir argumanla derlenip çalıştırıldığında -

	
$./a.out testteyiz
Verilen arguman testteyiz
	

Kod iki argumanla derlenip çalıştırıldığında -

	
$./a.out testteyiz1 testteyiz2
Cok fazla arguman verildi.
	

Kod argumansız derlenip çalıştırıldığında -

	
$./a.out
Bir arguman beklenmisti
	

Argv [0] ‘ın programın adını tuttuğu ve argv [1] girilen ilk komut satırı argümanının bir göstergesidir ve * argv [n] son argümandır.Herhangi bir bağımsız değişken sağlanmazsa, argc bir olacaktır ve bir bağımsız değişken iletirseniz argc 2 olarak ayarlanır.

Komut satırı bağımsız değişkenlerini boşlukla ayrılmış olarak sağlarsınız, ancak bağımsız değişkenin kendisinde boşluk varsa, bu bağımsız değişkenleri çift tırnak işareti “” veya tek tırnak işareti “ içine koyarak iletebilirsiniz. Yukarıdaki örneği bir kez daha yazalım, burada program adını yazdıracağız ve ayrıca çift tırnak içine alarak bir komut satırı argümanı geçirelim-

	
#include 
int main( int argc, char *argv[] ) {
printf(“Program adi %s\n”, argv[0]);
if( argc == 2 ) {
printf(“Verilen arguman %s\n”, argv[1]);
}
else if( argc > 2 ) {
printf(“Cok fazla arguman verildi.\n”);
}
else {
printf(“Bir arguman beklenmisti.\n”);
}
}
	

Yukarıdaki kod, boşlukla ayrılmış ancak çift tırnak içinde tek bir bağımsız değişkenle derlendiğinde ve yürütüldüğünde, aşağıdaki sonucu verir.

	
$./a.out “testteyiz1 testteyiz2”
Program adi ./a.out
Verilen arguman testteyiz1 testteyiz2
	
https://www.tutorialspoint.com/cprogramming/c_command_line_arguments.htm

Bir sonraki yazı dizimizde görüşmek üzere...