Mavzu: satrlar va kengaytirilgan belgilar


Satr ostilarini izlash funksiyalari


Download 71.88 Kb.
bet19/31
Sana25.11.2021
Hajmi71.88 Kb.
#177287
1   ...   15   16   17   18   19   20   21   22   ...   31
Bog'liq
10- Amaliyot

Satr ostilarini izlash funksiyalari

Satrlar bilan ishlashda bir satrda ikkinchi bir satr ostining to‘liq kirishini aniqlash bilan bog‘liq masalalar uchraydi. Masalan, matn tahrirlaridagi satrdagi birorta satr ostini ikkinchi satr osti bilan almashtirish masalasi. Standart string.h kutubxonasi bu toifadagi masalalar uchun bir nechta funksiyalarni taklif etadi.

strstr() funksiyasi quyidagicha e’lon qilinadi:

char* strstr(const char* str, const char* substr)

Bu funksiya str satrini substr satr ostisi kirishi bo‘yicha qarab chiqadi, agar substr satr ostisi str satriga to‘liq kirishi mavjud bo‘lsa, birinchi kirishdagi birinchi belgining adresi javob tariqasida qaytariladi, aks holda funksiya NULL qiymatini qaytaradi.

Quyidagi misol strstr( ) funksiyasini ishlatishni ko‘rsatadi.

char satr1[]=”Satrdan satr ostisi izlanmoqda, satr ostisi mavjud”;

char satr2[]=”satr ostisi”;

char* satr_osti;

satr_osti = strstr(satr1,satr2);

cout<

Dastur buyruqlari bajarilishi natijasida ekranga

”satr ostisi izlanmoqda, satr ostisi mavjud”

satri chop etiladi.

Keyingi dasturda bo‘lagida satr osti mavjud yoki yo‘qligini nazorat qilish holati ko‘rsatilagan:

char Ismlar[]=”Alisher,Farxod, Munisa, Erkin, Akmal, Nodira”;

char Ism[10];

char* Satrdagi_ism;

cout<<”Ismni kiriting: “;

cin>>Ism;

Satrdagi_ism = strstr(Ismlar,Ism);

cout<<”Bunaqa ism ru\’yxatda “;

if(Satrdagi_ism==NULL) cout<<”yo\’q .”<<’\n’;

else cout<<”bor .”<’\n’;

Dasturda foydalanuvchidan satr osti sifatida birorta ismni kiritish talab qilinadi va bu qiymat Ism satriga o‘qiladi. Kiritilgan ism dasturda aniqlangan ro‘yxatda (Ismlar satri) bor yoki yo‘qligi aniqlanadi va xabar beriladi.

strtok( ) funksiyasi sintaksisi

char* strtok(char* str, const char* delim)

ko‘rinishda bo‘lib, u str satrida delim satr-ro‘yxatida berilgan ajratuvchilar oralig‘iga olingan satr ostilarni ajratib olish imkonini beradi. Funksiya birinchi satrda ikkinchi ro‘yxatdagi ajratuvchini uchratsa, undan keyin nol-terminatorni (‘\0’) qo‘yish orqali str satrni ikkiga ajratadi. Satrning qolgan qismidagi ajratuvchilar bilan “o‘rab olingan” satr ostilari topish uchun funksiyaga keyingi murojaatlarda birinchi parametr o‘rniga NULL qiymatini qo‘yish kerak bo‘ladi. Quyidagi misolda satrni bo‘laklarga ajratish masalasi qaralgan:

#include


Download 71.88 Kb.

Do'stlaringiz bilan baham:
1   ...   15   16   17   18   19   20   21   22   ...   31




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling