2012-10-02 170 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库自动执行转换。 –