C++ fread関数でファイルを効率的に読み込む方法
C ++でファイルからデータを繰り返し読み取るには、fread関数を使用できます。以下は、ファイルからデータを繰り返し読み取るためにfread関数を使用したサンプルコードです。
#include <iostream>
#include <cstdio>
int main() {
FILE *file = fopen("example.txt", "rb"); // 以二进制只读模式打开文件
if (file == NULL) {
std::cerr << "Error opening file" << std::endl;
return 1;
}
const int bufferSize = 1024;
char buffer[bufferSize];
size_t bytesRead = 0;
// 循环读取文件直到读取到文件末尾
while ((bytesRead = fread(buffer, 1, bufferSize, file)) > 0) {
// 处理读取到的数据,这里简单打印到控制台
for (size_t i = 0; i < bytesRead; i++) {
std::cout << buffer[i];
}
}
fclose(file);
return 0;
}
この例では、最初にfopen関数を使用してexample.txtというファイルを開き、その後、fread関数を使用してループ内でファイルからデータを読み取ります。データは常にbufferSizeサイズで1回に読み取られ、読み取ったデータはコンソールに出力されます。fread関数が0バイトを返すと、ファイルの末尾に達したことを意味し、ループが終了します。
ファイルストリームを閉じるために、fclose関数を使用します。