cerr

C++ cerr obyekti

❮ iostream obyektlari


Misol

Xato xabarlarini chiqarish uchun cerr obyektidan foydalaning:

int x = 5;
int y = 0;

if(y == 0) {
  cerr << "Division by zero: " << x << " / " << y << "\n";
} else {
  cout << (x / y);
}

O‘zingiz sinab ko‘ring »


Ta’rif va qo‘llanilishi

cerr obyekti xato xabarlarini chiqarish uchun ishlatiladi. U cout bilan aynan bir xil ishlaydi, lekin uni xatolar jurnali fayli kabi boshqa manzilga yo‘naltirish mumkin. cerr va clog har doim bir xil manzilga yozadi.

Batafsilroq foydalanish uchun <iostream> cout obyektiga qarang.

cout va clog obyektlaridan farqli o‘laroq, cerr buferlanmaydi. Buferlangan chiqish natijani vaqtincha o‘zgaruvchida saqlab turadi va muayyan shartlar bajarilmaguncha uni manzilga yozmaydi. Buferlangan chiqishlar samaraliroq, chunki ular fayllarga kamroq yozish amallarini bajaradi. cerr buferlanmaydi, shu tufayli xato xabarlari dastur ishdan chiqishidan oldin faylga yozilishi mumkin.

Eslatma: cerr obyekti <iostream> sarlavha faylida aniqlangan.


Ko‘proq misollar

Misol

cerr obyektini konsol o‘rniga faylga yozadigan qilib yo‘naltiring:

#include <iostream>
#include <fstream>
using namespace std;

int main() {
  int x = 5;
  int y = 0;

  // Set "error.log" as the output file for the error messages
  ofstream log("error.log");
  cerr.rdbuf(log.rdbuf());
  
  // Write an error message
  if(y == 0) {
    cerr << "Division by zero: " << x << " / " << y << "\n";
  } else {
    cout << (x / y);
  }

  // Close the file
  log.close();
  
  return 0;
}

❮ iostream obyektlari

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!