C++怎么缓存读写文件
FILE*fp_w=fopen("C:/aaa/mmm_1.dat","wb");if(NULL==fp_w)QMessageBox::information(NULL,...
FILE *fp_w = fopen("C:/aaa/mmm_1.dat", "wb");
if (NULL == fp_w) QMessageBox::information(NULL, "write", "open err");
FILE *fp_r = fopen("C:/aaa/mmm.dat", "rb");
if (NULL == fp_r) QMessageBox::information(NULL, "read", "open err");
//逐像素寻找对应像素点信息
for (int ni = 0; ni <height; ni++) {
for (int nj = 0; nj < width; nj++) {
QRgb tt4;
fseek(fp_r, 4 * (ni*width+nj), SEEK_SET);
fread(&tt4, sizeof(QRgb), 1, fp_r);
fseek(fp_w, 4 * (ni*width + nj), SEEK_SET);
fwrite(&tt4, sizeof(QRgb), 1, fp_w);
}
}
fclose(fp_r);
fclose(fp_w);
如题,文件1里面存入了每个像素点的RGB信息二进制,文件二的每个像素点要通过计算寻找到1里面的对应位置(代码简写测试的,对应关系很复杂),但是这样效率很低,怎么才能提高效率, 注:不能行处理,因为每个像素都要计算。谢谢 展开
if (NULL == fp_w) QMessageBox::information(NULL, "write", "open err");
FILE *fp_r = fopen("C:/aaa/mmm.dat", "rb");
if (NULL == fp_r) QMessageBox::information(NULL, "read", "open err");
//逐像素寻找对应像素点信息
for (int ni = 0; ni <height; ni++) {
for (int nj = 0; nj < width; nj++) {
QRgb tt4;
fseek(fp_r, 4 * (ni*width+nj), SEEK_SET);
fread(&tt4, sizeof(QRgb), 1, fp_r);
fseek(fp_w, 4 * (ni*width + nj), SEEK_SET);
fwrite(&tt4, sizeof(QRgb), 1, fp_w);
}
}
fclose(fp_r);
fclose(fp_w);
如题,文件1里面存入了每个像素点的RGB信息二进制,文件二的每个像素点要通过计算寻找到1里面的对应位置(代码简写测试的,对应关系很复杂),但是这样效率很低,怎么才能提高效率, 注:不能行处理,因为每个像素都要计算。谢谢 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询