Một đồng nghiệp chỉ nói với tôi rằng mã này:ifstream: kiểm tra nếu mở ra thành công
std::ifstream stream(filename.c_str());
if (!stream)
{
throw std::runtime_error("..");
}
sẽ là sai lầm. Anh ta nói ifstream
đánh giá là 0 nếu mở thành công. Mã của tôi hoạt động, nhưng tôi muốn tìm tài liệu nhưng không thấy nơi nó nói làm thế nào để kiểm tra xem mở đã thành công. Bạn có thể chỉ cho tôi không?
đừng quên kiểm tra 'stream.bad()', 'stream.good()', 'stream.fail()', và 'stream.is_open()'. thở dài ... – Inverse
cảm ơn rất nhiều về liên kết! Tôi đồng ý rằng việc kiểm tra bằng cách sử dụng toán tử này không tốt, vì vậy tôi sẽ thay đổi nó. Chúng tôi sẽ không có cuộc thảo luận nếu (stream.fail()). – Philipp
The! bị quá tải để kiểm tra 'fail' và 'bad' –