How to Retrieve File bytes into a Char Array in C
要在不使用 getline() 的情况下将文件字节读入 char 数组,请考虑使用 ifstream::read()。请按照下列步骤操作:
打开文件:
std::ifstream infile("C:\\MyFile.csv");
获取文件长度:
infile.seekg(0, std::ios::end);
size_t length = infile.tellg();
infile.seekg(0, std::ios::beg);
确保缓冲区大小:
if (length > sizeof (buffer)) {
length = sizeof (buffer);
}
读取文件:
infile.read(buffer, length);
附加说明:
更新方法 (2019):
要考虑读取过程中的潜在错误,请考虑以下方法:
size_t chars_read;
if (!(infile.read(buffer, sizeof(buffer)))) {
if (!infile.eof()) {
// Handle error during reading
}
}
chars_read = infile.gcount(); // Get actual number of bytes read
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3