问题描述
我有一个程序,该程序会生成一个可变大小的整数数组,并且需要将这些元素写入文本文件。元素必须在文件的同一行上。 这是我目前正在做的最小示例。我在本文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 (将#修改为@)