Mavzu: satrlar va kengaytirilgan belgilarchar Hafta_kuni[]= {‘J’,’u’,’m’,’a’,’ |
Download 81,65 Kb.
|
Satr qiymatini o‘qishda oqimli o‘qish operatori “>>” o‘rniga getline() funksiyasini ishltagan ma’qul hisoblanadi, chunki oqimli o‘qishda probellar inkor qilinadi (garchi ular satr belgisi hisoblansa ham) va o‘qilayotgan belgilar ketma - ketligi satrdan “oshib” ketganda ham belgilarni kiritish davom etishi mumkin. Natijada satr o‘ziga ajratilgan o‘lchamdan ortiq belgilarni qabul qilishi mumkin. Shu sababli, getline() funksiyasi ikkita parametrga ega bo‘lib, birinchi parametr o‘qish amalga oshirilayotgan satrga ko‘rsatgich, ikkinchi parametrda esa kiritilishi kerak bo‘lgan belgilar soni ko‘rsatiladi. Satrni getline() funksiyasi orqali o‘qishga misol ko‘raylik: #include using namespace std; int main(){ char satr[6]; cout<<”Satrni kiriting: “<<’\n’; cin.getline(satr,6); cout<<”Siz kiritgan satr: “< return 0; } Dasturda satr satri 5 ta belgini qabul qilishi mumkin, ortiqchalari tashlab yuboriladi. getline() funksiyasiga murojaatda ikkinchi parametr qiymati o‘qilayotgan satr uzunligidan katta bo‘lmasligi kerak. Satr bilan ishlaydigan funksiyalarning aksariyati string.h kutubxonasida jamlangan. Nisbatan ko‘p ishlatiladigan funksiyalarning tavsifini keltiramiz. Satr uzunligini aniqlash funksiyalari Satrlar bilan ishlashda, aksariyat hollarda satr uzunligini bilish zarur bo‘ladi. Buning uchun string.h kutubxonasida strlen() funksiyasi aniqlangan bo‘lib, uning sintaksisi quyidagicha bo‘ladi: size_t strlen (const char* string) Bu funksiya uzunligi hisoblanishi kerak bo‘lgan satr boshiga ko‘rsatgich bo‘lgan yagona parametrga ega va u ishlash natijasi sifatida ishorasiz butun sonni qaytaradi. strlen() funksiyasi satrning real uzunligidan bitta kam qiymat qaytaradi, ya’ni nol-terminator o‘rni hisobga olinmaydi. Xuddi shu maqsadda sizeof() funksiyasidan ham foydalanish mumkin va u strlen() funksiyasidan farqli ravishda satrning real uzunligini qaytaradi. Quyida keltirilgan misolda satr uzunligini hisoblashning har ikkita varianti keltirilgan: Download 81,65 Kb. Do'stlaringiz bilan baham: |