FAYLLARNI OCHISH VA YOPISH
Fayllarni qo’yi darajadada ochish uchun open () funktsiyasidan foydalaniladi:
int fd= open (fayl nomi, bayroqlar, murojat.)
fd – fayl deskriptori,
fayl nomi – simvollar massiviga ko’rsatkichdir.
2- parametr bayroqlar fayl ochish rejimini belgilovchi ifodadir. Bu ifoda fcntl.h sarlavhali faylda saqlanuvchi konstantalardan biri yoki shu kostantalardan razryadli ‘|’ amali yordamida hosil qilingan bo’lishi mumkin.
Kostantalar ro’yhati:
O_APPEND Faylni ohiriga yozuv qo’shish uchun ochish;
O_BINARY Faylni bitli (ikkili)binar rejimda ochish
O_CREAT Yangi fayl yaratish va ochish
O_EXCL Agar O_CREAT bilan birga ko’rsatilgan bo’lsa va yaratilmoqchi bo’lgan fayl mavjud bo’lsa faylni ochish funktsiyasi hatolik bilan tugaydi. Mavjud faylni o’chib ketmaslikdan saqlaydi.
O_RDONLY Faylni faqat o’qish uchun ochish
O_RDWR Faylni o’qish va yozish uchun ochish
O_TEXT Faylni tekstli rejimda ochish
O_TRUNK Mavjud faylni ochish va bor ma'lumotni o’chirish
Fayl ochilish rejimi albatta ko’rsatilgan bo’lishi shart. 3- parametr murojat huquqlari faqat faylni O_CREAT ochish rejimida ya'ni yangi fayl yaratishda foydalaniladi. MS DOS va MS WINDOWS operatsion tizimlarida murojat huquqlari parametrlarini berish uchun quyidagi konstantalardan foydalaniladi.
S_IWRITE Faylga yozishga ruhsat berish
S_IREAD Fayldan uqishga ruhsat berish
S_ IREAD\ S_WRITE Uqish va yozishga ruhsat berish
Ko’rsatilgan konstantalar sys katalogida joylashgan stat.h sarvlahali faylda saqlanadi. Bu faylni qo’shish # include direktivasi orqali amalga oshiriladi. Agar murojaat huquqi parametri ko’rsatilmagan bo’lsa faqat fayldan o’qishga ruhsat beriladi. UNIX operatsion tizimida murojaat huquqlari 3 hil foydalanuvchilar uchun ko’rsatiladi:
Fayl egasi;
Foydalanuvchilar guruhi a'zosi.
Boshqa foydalanuvchilar
Foydalanuvchilar huquqlari quyidagi simvollar orqali ko’rsatiladi:
R- fayldan uqish ruhsat berilgan.
W- faylga yozish ruhsat berilgan.
X- fayllarni bajarish ruhsat berilgan.
Agar biror murojaat huquqi berilmagan bo’lsa urniga `_` 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 urniga 0 rakami, 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 ( ) funktsiyasida murojaat huquqi parametri sifatida ko’rsatiladi.
Faylni ochishga misollar:
1. faylni o’qish uchun ochish:
fd=open ( “ t.txt “ , O_RONLY)
2. faylni o’qish va yozish uchun ochish:
fd = open(“ t.txt “ , O_RDWR)
3. faylni yangi ma'lumotlar yozish uchun ochish:
fd = open(“ new.txt “ ,O_WRONLY_ |O-Creat| O_TRUNK, 0600)
Do'stlaringiz bilan baham: |