我像测试一样使用这个代码,所有数组都将在循环中计算,然后一个接一个地写入文件。我的意思是,新的数组将在循环的下一步计算,我想将它们一个接一个地添加到同一个文件中......
#include <stdio.h>
int aa[5]={1,2,3,4,5};
int main()
{
FILE* ff;
ff = fopen("file.txt","w+");
for (int j=0;j<5;j++) {
for (int i=0;i<5;i++) {
aa[i]+=j;
fprintf(ff,"%d\n", aa[i]);
}
}
fclose(ff);
}
但我希望看到下一个结果文件:
1 2 4 7 11
2 3 5 8 12
3 4 6 9 13
4 5 7 10 14
5 6 8 11 15
答案 0 :(得分:1)
将两个printf语句调整为一个for循环
for (int i=0;i<5;i++){
fprintf(ff,"%d\t", aa[i]);
fprintf(ff, "%d\n", bb[i]);
}
答案 1 :(得分:0)
#include <stdio.h>
int aa[5]={1,2,3,4,5};
int main(void){
char lines[5][32];
FILE *ff;
ff = fopen("file.txt","w+");
for(int j = 0; j < 5; j++) {
rewind(ff);
for(int i = 0; i < 5; i++){//Read the current file
if(fscanf(ff, " %31[^\n]", lines[i]) != 1)
*lines[i] = 0;
}
rewind(ff);
for(int i = 0; i < 5; i++) {
aa[i] += j;
fprintf(ff,"%s %-2d\n", lines[i], aa[i]);//Add data and export
}
}
fclose(ff);
}