7.5. Sistem İle İlgili Fonksiyonlar
İlginç bir fonksiyon olan system
, bir
C programı içinden, işletim sisteminizin kabul edebileceği herhangi
bir komutu çalıştırmanızı sağlar.
system(kar_dizisi)
çağrısı yapıldığında, kar_dizisi
içindeki
işletim sistemi komutu çalıştırılır; bu komut tamamlandıktan sonra ise
program normal bir şekilde devam eder. Örneğin,
system("DIR C:\\MSVC\\INCLUDE\\*.H")
ifadesi c:\msvc\include
altdizini içinde
dosya tipi h
olan bütün dosyaların ekranda görüntülenmesini
sağlar. Kullanılacak komutun, programın çalıştığı işletim sistemine uygun
bir şekilde yazılmış olması gerekir. Yukarıdaki örnek unix-benzeri
sistemlerde hata verecektir. unix-benzeri sistemlere uygun bir örnek
aşağıdakidir:
system("ls -l /usr/include/*.h")
Şimdiye kadar görmüş olduğumuz programlar, çalışmaları sırasında
herhangi bir sorun çıkmadığı takdirde, kontrol main
bloğunun
sonuna ulaştığında biterler. exit
fonksiyonu ise,
konulduğu yerde programın sona ermesini sağlar.
exit(durum)
çağrısı, açık olan tüm dosyalar için
fclose
’un, daha sonra da _Exit
kütüphane
fonksiyonunun çağrılmasını sağlar. _Exit
başka bir şey
yapmadan programı bitirir. (Programlarınızda kütüphanede tanımlanmış
bulunan ve
ile başlayan bir şey kullanmanız
tavsiye edilmez; normal programcılar için bunlar biraz düşük düzeyde
kalırlar ve Standarda dahil olmayabilirler.) Bir tamsayı olan
_
durum
’un değeri, bu programın çalışmasını sağlayan
sürece geçirilir ve bu süreç tarafından bazı kararlar vermek için
kullanılabilir. Geleneksel olarak, sıfırdan farklı durum
değerleri çeşitli hatalı durumları gösterirler, 0
ise
başarılı bir sonuçlanmayı gösterir. stdlib.h
başlık
dosyasında tanımlanmış EXIT_SUCCESS
(başarılı sonuçlanma)
ve EXIT_FAILURE
(hatalı sonuçlanma) değerleri bu
kodları standartlaştırmaktadırlar.
Birbirleriyle ilişkili iki fonksiyon da şunlardır:
rand()
ve
srand(tohum)
İlki 0
ile RAND_MAX
(değeri derleyiciye bağlı olarak değişebilen, fakat en az 32767
olan bir değişmez makro) arasında bir sözde rastgele tamsayı verir.
İkincisi ise, rand
tarafından üretilecek yeni bir sözde
rastgele sayı sırası için tohumu (işaretsiz bir tamsayı) belirtmek
için kullanılır. Eğer srand
çağrılmazsa, program başlarken
tohum
’un değeri 1
’dir.