从数组到文本文件写入大量可变整数的有效方法

问题描述

我有一个程序,该程序会生成一个可变大小的整数数组,并且需要将这些元素写入文本文件。元素必须在文件的同一行上。 这是我目前正在做的最小示例。我在本文https://stackoverflow.com/a/30234430/10163981

中使用的是这种方法
FILE *file = fopen("file.txt","w");
int nLines = 1000;
char breakstr[]="\n";

for(; ix<N;  ix++){
    char s[nLines*13];
    for(int jx = 0 ; jx<nLines; jx++){
        index += sprintf(&s[index],"%03i %03i %03i ",array[ix][jx],array[ix][jx]); 
    // I need jx:th element in repeats of three,and may need to modify it externally for printing
    }
    fwrite(s,sizeof(char),strlen(s),file);
    fwrite(breakstr,strlen(breakstr),file);
}
fclose(file);

我正在将数组内容格式化为字符串并使用fwrite,因为已根据需要将此方法提供给我。我的问题是我正在使用的此实现太慢。我也尝试过使用较短的字符串并为每次迭代编写,但这甚至更慢。关于ix的外部循环,我无能为力,因为ix的初始值是可变的。出于完整性考虑,我将其包括在内。

nLines预计最多可以达到10000。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)