【发布时间】:2018-03-31 21:32:40
【问题描述】:
我必须在 xls 文件中写入一些结果,但我需要创建一个包含所有内容的文件,到目前为止,我为每次迭代创建一个文件,但我不知道如何让它写入一个结果,然后另一个。
这是我的代码(已更正),
void writeXLS(int numCell,int dmax,int ite,float **x){
char it [5];
itoa(ite,it, 10);
char *name = concat("resul",it);
char *arc = concat(nombre,".xls");
FILE *Resul;
Resul=fopen(arc,"w");
for(int j=0;j<numCell;j++){
for(int k=0;k<dmax;k++){
fprintf(Resul,"%.3g\t",x[0][j*dmax+k]);
}
fprintf(Resul,"\n");
}
fclose(Resul);
}
我无法在函数外打开文件.. 是一个巨大的项目,我打开其他文件进行读写。
我在每次迭代中调用 writeXLS() 并且需要在 XLS 文件中写下来。
【问题讨论】:
-
您不能为此使用库吗?有几个可以读写excel文件。 libxlsxwriter.github.io
-
Offtopic:请考虑更多国际友好的代码约定。我们中很少有人知道西班牙语和正确的命名极大地减轻了对代码的审查。
-
在函数外部打开和关闭文件。在第一次调用
escribirResultados之前打开它,并在最后一次调用之后关闭它。将FILE *Resultados作为函数参数传递。 -
对不起我的英语不好,我试图纠正并简化我的代码
-
已编辑的问题说您无法在函数之外打开文件。那么在函数中,你可以用
Resul=fopen(arc,"a");打开它append吗?