我想将文件从文件复制到另一个文件,而不进行扫描,将它们存储到数组中并打印出来。我想直接复制。将整数从文件复制到另一个文件C
所以,为此我写了这段代码。但我无法将整数复制到文件中。我需要做下一个操作。
First number=first number
Second number=first number+second number
Third number=first number+second number+third number ...
这是我的代码。我有1 2 3 4 5 6 7 8 9
在data.dat
。
#include <stdio.h>
#include <stdlib.h>
int main(){
char number='0';
char a;
FILE *data;
FILE *sum;
data=fopen("data.dat", "rt");
if (data==NULL){
printf("Error abriendo fichero ...");
exit(1);
}
sum=fopen("sum.dat", "wt");
if (sum==NULL){
printf("Error abriendo fichero ...");
exit(1);
}
while((a=fgetc(data))!=EOF){
number=number+a;
putc(number,sum);
}
return 0;
}
我应该得到sum.dat
1 3 6 10 15 21 28 36 45
。
1=1
3=2+1
6=3+2+1
10=4+3+2+1
15=5+4+3+2+1
21=6+5+4+3+2+1
28=7+6+5+4+3+2+1
36=8+7+6+5+4+3+2+1
45=9+8+7+6+5+4+3+2+1
'fgetc'读取原始字节。如果我使用'fscanf'也给我错误,请使用'fscanf' – Unimportant
@ user1320881。 –
当然这意味着你写作时会犯同样的错误。用'fprintf'代替'putc'。 – Unimportant