10- amaliy mashg’ulot mavzu: satrlar va kengaytirilgan belgilar ishning maqsadi
Satr ostilarini izlash funksiyalari
Download 317.59 Kb. Pdf ko'rish
|
10-mavzu amaliyot (laboratoriyaga koʻrsatma)
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< ”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:
Download 317.59 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling