C++ コードには、2 つの .bmp ファイル (参照ファイルは、一度に別のディレクトリ内のほぼ 100 個のファイルと比較されます) をビットごとに比較し、ターミナル ウィンドウで実行するとビット エラーを適切に報告する特定の関数があります。それを行う関数は次のとおりです。
void getBitErrors(char *filename, char *dirName, int height, int width){
DIR *dir;
struct dirent *ent;
//char *f = "";
dir = opendir (dirName);
if (dir != NULL) {
/* print all the files and directories within directory */
while ((ent = readdir (dir)) != NULL) {
if(strcmp(ent->d_name,".") && strcmp(ent->d_name,".."))
{
char f[255]="";
strcat(f,dirName);
strcat(f,ent->d_name);
printf ("reading image file %s\n", f);
cout<<"Bit Error "<<getBitError(filename,f,height,width)<<endl;
}
}
closedir (dir);
}
else {
perror ("");
}
}
コードに 100 個のそれぞれの比較値を xlsx/obs ファイルに書き込む関数が必要です (端末ウィンドウで std::cout によって出力を表示するのではなく)。2 つの異なるオプションを調べました。1)有料ライブラリである自明のlibXLであり、このライブラリに支払う199ドルは実際にはありません。2) 少しかすんでいる SimpleXlsx。どうすれば結果を達成できるかを誰かが説明してくれたら、とても助かります。OS : Linux Ubuntu 10.10 Maverick。