【问题标题】:xls file in C without overwritingC语言中的xls文件而不覆盖
【发布时间】: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吗?

标签: c file xls


【解决方案1】:

我更改了文件的创建

FILE *Resul;
Resul=fopen(arc,"a+");

追加 = a+

就是这样,感谢您的合作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-07
    • 2023-04-05
    • 1970-01-01
    相关资源
    最近更新 更多