#include <iostream>
#include <fstream>
#include <cstdint>
#include <cmath>
int main() {
std::ifstream file1("file1.bin", std::ios::binary);
std::ifstream file2("file2.bin", std::ios::binary);
if (!file1.is_open() || !file2.is_open()) {
std::cerr << "Error opening file(s)" << std::endl;
return 1;
}
const size_t bufferSize = 1024; // 你可以根据你的内存情况调整这个值
uint8_t buffer1[bufferSize];
uint8_t buffer2[bufferSize];
size_t totalBytes = 0;
double totalError = 0.0;
while (true) {
file1.read(reinterpret_cast<char*>(buffer1), bufferSize);
file2.read(reinterpret_cast<char*>(buffer2), bufferSize);
size_t bytesRead = file1.gcount();
if (bytesRead == 0) break;
for (size_t i = 0; i < bytesRead; ++i) {
totalError += std::abs(buffer1[i] - buffer2[i]);
}
totalBytes += bytesRead;
}
double mae = totalError / totalBytes;
std::cout << "Mean Absolute Error: " << mae << std::endl;
return 0;
}
分块读取文件
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 背景:有4个文件待处理,每个文件大小均为20G,但是电脑内存仅有36G,那么如何用最快的速度将这四个文件进行处理用...
- 转载于https://blog.csdn.net/zm714981790/article/details/5137...
- 一、异步文件的写入 1、引入fs模块 2、打开文件 fs.open(path ,flags [ , mode] ,...
- 由于node.js是服务端的程序,必须要有读写文件操作,在原生的js中没有这样的功能,在Node中如果要读写文件,...