Guruch. 4.2 Oqim formatlash bayroqlarini ko'rsatish
Ip holati
ios sinfi ob'ektining holati (va uning hosilalari) uning shaxsiy _state elementida bitlar to'plami sifatida mavjud. Quyidagi jadvalda mavjud ip holati bitlari keltirilgan.
4.4-jadval. Mavzu holati bitlari
Bit
|
Tavsif
|
xayr
|
Oqim bilan hamma narsa yaxshi (aslida bu biroz emas, lekin 0 - xato bitlari yo'q).
|
eofbit
|
Faylning oxiriga yetganligini bildiradi.
|
muvaffaqiyatsiz bit
|
Format yoki konvertatsiya xatosini bildiradi. Ushbu bitni tozalagandan so'ng, oqim bilan ishlashni davom ettirish mumkin.
|
badbit
|
Odatda bufer operatsiyalari yoki apparat bilan bog'liq jiddiy oqim xatosini ko'rsatadi. Katta ehtimol bilan, oqimni endi ishlatib bo'lmaydi.
|
Ip holatini so'rov qilish yoki o'zgartirish uchun ios sinfida bir qator funktsiyalar va operatsiyalar mavjud.
intrdstate(); Joriy holatni qaytaradi.
bool eof(); Agar eofbit o'rnatilgan bo'lsa, true qiymatini qaytaradi.
bool good(); Xato bitlarining hech biri o'rnatilmagan bo'lsa, true qiymatini qaytaradi.
bool fail(); Faol bit yoki noto'g'ri bit o'rnatilgan bo'lsa, true qiymatini qaytaradi.
bool bad(); Agar badbit o'rnatilgan bo'lsa, true qiymatini qaytaradi.
void clear(int=0); Xato bitlarini o'chiradi (standart) yoki argumentga muvofiq oqim holatini o'rnatadi.
void setstate(int) ; Argumentga muvofiq xato bitlarining holatini o'rnatadi.
operator void*(); Xato bitlaridan birortasi o'rnatilgan bo'lsa, null ko'rsatkichni qaytaradi.
bool operatori! (); Xato bitlaridan birortasi o'rnatilgan bo'lsa, true qiymatini qaytaradi.
O perator void*() funksiyasi oqim nolga qiyoslansa, bilvosita chaqiriladi (roʻyxat misolidagi cin kabi),
Savollar
1. C++ tilida iplarning qanday turlari va sinflarini bilasiz?
2. Iplar nima uchun mo‘ljallangan?
3. I/U oqimi qanday yaratiladi va undan foydalaniladi?
4. Dastur matniga izohlar qanday maqsadda kiritiladi?
5. Nima uchun funksiya chaqirilganda parametrlardan foydalaniladi?
Do'stlaringiz bilan baham: |