sách gpt4 ai đã đi

c++ - 检查 istream::read 和 istream::seekg 失败的最佳方法

In lại 作者:行者123 更新时间:2023-11-27 23:49:03 26 4
mua khóa gpt4 Nike

假设我有以下代码:

std::ifstream file(name, flags);
file.seekg(0, std::ios::beg);
// Check for error
file.read(buffer, size);
// Check for error

检查查找/读取错误的最简洁方法是什么?我应该只检查 ios::fail 和 ios::bad 位吗?这些失败会触发异常吗? (我相信你必须手动注册失败异常)

1 Câu trả lời

当这两个函数失败时,它们会在错误掩码中设置某些标志,您可以在 if 语句中检查这些标志。流的 bool 转换运算符将检查 failbit hoặc badbit 的掩码,如果两者均未设置,则返回 true。默认情况下不会抛出异常,但您可以使用 exceptions() 方法设置异常。

if (!file.seekg(0, std::ios::beg)) {
// Check for error
}

if (!file.read(buffer, size)) {
// Check for error
}

关于c++ - 检查 istream::read 和 istream::seekg 失败的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48154877/

26 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com