2012-10-02 3 views
0

2 개 .bmp 파일 (참조 파일은 한 번에 하나씩 다른 디렉토리에있는 거의 100 개의 파일과 비교)을 비교하는 내 C++ 코드에 특정 기능이 있습니다. 터미널 창을 실행할 때 오류가 제대로 발생합니다. .xlsx 파일에 C++ 출력 작성하기

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 (""); 
    } 
} 

은 내가 XLSX/OBS 파일로 (100 개) 각각의 비교 값을 기록합니다 (표준에 의해 표시되는 출력을 가진 반대로 내 코드에서 함수를 원하는 다음과 같이 그것을 수행하는 기능은 다음과 같습니다 : 터미널 창에서 cout) 두 가지 옵션을 살펴 보았습니다. 1) 유료 라이브러리 인 libXL 자체 설명이 라이브러리에는 실제로 199 달러를 지불하지 않습니다. 2) SimpleXlsx가 약간 흐릿합니다. 누군가 내 결과를 달성 할 수있는 방법을 설명해 주어야 할 때가 몹시 당연한 일입니다. 운영 체제 : Linux Ubuntu 10.10 Maverick.

+0

Excel이있는 경우 프로그램에서 CSV 출력을 제공하고 Excel 자체를 사용하여 CSV를 xlsx로 변환 할 수 있습니다. 그것은 당신이 요구하는 것이 아니지만 그것은 엑셀 스프레드 시트로 일부 프로그램 출력을 변환하는 가장 간단한 방법입니다. –

답변

3

.csv (쉼표로 구분 된 값) 형식을 사용하는 것이 좋습니다. 훨씬 적은 복잡성으로 결과와 같은 스프레드 시트를 얻을 수 있습니다.

+0

예. 그것은 또한 내가보고있는 옵션 중 하나 였고 또한 쉽게 보입니다. 유일한 문제는 출력 중 하나가 xlsx 파일이어야한다는 것입니다. – user1227372

+0

네이티브 xlsx 파일을 만드는 것은 쉽지 않습니다. 다른 방법으로는 csv 파일로 저장하고 Excel로 파일을 열고 .xlsx로 저장할 수 있습니다. 수동으로 작업하는 것을 원하지 않으면 Excel Interop 라이브러리를 사용하여 변환을 자동화 할 수 있습니다. –