C でファイルのバイトを Char 配列に取得する方法
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