08.11.2014 Views

c_kitap

c_kitap

c_kitap

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

C ve Sistem Programcıları Derneği - C Ders Notları - Necati Ergin<br />

kopyala deneme.c test.c<br />

Program komut satırından yukarıdaki gibi çalıştırıldığında, ismi deneme.c olan bir<br />

dosyanın ismi test.c olan bir kopyasını oluştursun. Bu durumda argc 3 degerini alır, değil<br />

mi?<br />

#include <br />

#include <br />

int main(int argc, char *argv[])<br />

{<br />

/***/<br />

if (argc != 3) {<br />

printf("kullanim : \n");<br />

exit(EXIT_FAILURE);<br />

}<br />

/***/<br />

return 0;<br />

}<br />

Yukarıdaki main işlevinde, program 3 komut satırı argümanı verilerek çalıştırılmadıysa,<br />

yani eksik ya da fazla argümanla çalıştırıldıysa, program bir hata iletisiyle sonlandırılıyor.<br />

Komut satırından argümanlar doğru girilmediği zaman bir program sonlandırılmak<br />

zorunda değildir. Dışarıdan doğru olarak girilemeyen argümanların bu kez, programın<br />

çalışması durumunda programı kullanan kişi tarafından girilmesi istenebilir.<br />

Aşağıdaki örneği inceleyin:<br />

#include <br />

#include <br />

#define NAME_LEN 80<br />

int main(int argc, char *argv[])<br />

{<br />

char source_name[NAME_LEN];<br />

char dest_name[NAME_LEN];<br />

}<br />

if (argc != 3) {<br />

printf("kaynak dosyanin ismini giriniz : ");<br />

gets(source_name);<br />

printf("kopya dosyanin ismini giriniz : ");<br />

gets(dest_name);<br />

}<br />

else {<br />

strcpy(source_name, argv[1]);<br />

strcpy(dest_name, argv[2]);<br />

}<br />

/***/<br />

return 0;<br />

DOS işletim sisteminde olduğu gibi, bazı sistemlerde main işlevi üçüncü bir parametre<br />

alabilir. Üçüncü parametre sistemin çevre değişkenlerine ilişkin bir karakter türünden<br />

göstericiyi gösteren göstericidir.<br />

int main(int argc, char *argv[], char *env[])<br />

{<br />

/***/<br />

}<br />

447

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!