2012-10-02 210 views
0

我在我的C++代碼中有一定的功能,它比較2個.bmp文件(一個參考文件與另一個目錄中的幾乎100個文件進行比較),並逐位報告在終端窗口中運行時錯誤正確。這項作業的功能如下:將C++輸出寫入xlsx文件

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 /觀測文件(相對於具有由STD顯示的輸出。: :在終端窗口cout。)我看了2個不同的選項。 1)自我解釋的libXL是一個付費的圖書館,我沒有真正的199美元來支付這個圖書館。 2)SimpleXlsx略顯朦朧。 如果有人向我解釋如何實現我的結果,我會非常感激。 操作系統:Linux Ubuntu 10.10 Maverick。

+0

如果您有Excel,您可以提供程序的CSV輸出,並使用Excel自身將CSV轉換爲xlsx。這不是你所要求的,但它是將某些程序輸出轉換爲Excel電子表格的最簡單的方法。 –

回答

3

我建議你看看.csv(逗號分隔值)格式。你可以得到一個結果的電子表格,其複雜程度要低得多。

+0

是的。這也是我所看到的選項之一,而且看起來也很容易。唯一的問題是其中一個要求是輸出應該是一個xlsx文件。 – user1227372

+0

創建本機xlsx文件並不容易。另一種可能是將其另存爲csv文件,使用Excel打開文件並將其保存爲.xlsx。如果您不喜歡手動執行此操作,則可以使用Excel Interop庫自動執行轉換。 –