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

Bu yazılar 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 <stdio.h>

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 <stdio.h>

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

Last updated