5.15-jadval. MS DOS va WINDOWS rejimidagi murojaat operatorlari.
nomi
|
Vazifasi
|
S_IWRITE
|
Faylga yozishga ro`xsat berish
|
S_IREAD
|
Fayldan o`qishga ro`xsat berish
|
S_ IREAD\ S_WRITE
|
O`qish va yozishga ro`xsat berish
|
Ko`rsatilgan o`zgarmaslar sys katalogida joylashgan stat.h sarlavhali faylda saqlanadi. Bu faylni qo`shish # include direktivasi orqali amalga oshiriladi. Agar murojaat huquqi parametri ko`rsatilmagan bo`lsa, faqat fayldan o`qishga ro`xsat beriladi.
Agar biror murojaat huquqi berilmagan bo`lsa o`rniga `_` belgisi qo`yiladi. Agar fayl egasiga hamma huquqlar, foydalanuvchi guruhi a`zolariga o`qish va bajarish, boshqa foydalanuvchilarga faqat bajarish huquqi berilgan bo`lsa, murojaat qatorini quyidagicha yozish mumkin rwxr-x—x. Har bir `_` simvol o`rniga 0 raqami, aks holda 1 raqami qo`yilib hosil bo`lgan sondagi o`ng tomondan boshlab har bir uch raqamini sakkizlik son sifatida yozilsa, murojaat huquqini belgilovchi sakkizlik butun son hosil bo`ladi. Yuqorida hosil qilingan rwxr-x—x qatori ikkilik 111101001 nihoyat sakkizlik 0751 son shaklida yozilib open ( ) funksiyasida murojaat huquqi parametri sifatida ko`rsatiladi. Faylni ochishga misollar:
faylni o`qish uchun ochish:
fd=open ( “ t.txt “ , O_RONLY)
|
faylni o`qish va yozish uchun ochish:
fd = open(“ t.txt “ , O_RDWR)
|
faylni yangi ma`lumotlar yozish uchun ochish:
fd = open(“ new.txt “ ,O_WRONLY_ |O-Creat| O_TRUNK, 0600)
|
Sakkizlik o`zgarmas 0600 shaklida berilgan murojaat huquqi parametrining simvolli ko`nishi rw bo`lib, fayl egasiga o`qish va yozish huquqi, qolgan foydalanuvchilarga hech qanday huquq berilmaganligini bildiradi . Faylni ochishda kelib chiqadigan xato turini aniqlash uchun errno.h sarlavhali faylda saqlanuvchi errno o`zgaruvchisi xizmat qiladi. Agar bu o`zgaruvchi qiymati shu sarlavhali
faylda saqlanuvchi EEXIST o`zgarmasiga teng bo`lsa, ochilayotgan fayl mavjudligini bildiradi.
open() funksiyasi bitta faylga bir necha dasturlardan murojaat qilish imkonini beradi. Albatta dasturlar faylga faqat o`qish rejimida murojaat qilishi mumkin. Faylni ochish uchun yana Creat() funksiyasi mavjud bo`lib quyidagi open() funksiyasini chaqirishga mos keladi.
Open ( fayl nomi, O_creat |O_TRUNK| O_WRONLY);
|
Bu funksiya yangi fayl yaratadi va yozish uchun ochadi. Quyi darajada fayllarni yopish uchun close () funksiyasidan foydalanish lozim. Bu funksiya ko`rinishi quyidagichadir:
Int close (fayl deskriptori);
|
Funksiya muvoffaqiyatli bajarilganda 0 qaytaradi. Xato bo`lganda – 1.
Do'stlaringiz bilan baham: |