[英]Copy integers from a file to another in C
我想将文件从一个文件复制到另一个文件,而不是扫描它们,将它们存储到一个数组中并打印它们。 我想直接复制。
因此,为此我编写了这段代码。 但我无法将整数复制到文件中。 我需要做接下来的操作。
First number=first number
Second number=first number+second number
Third number=first number+second number+third number ...
这是我的代码。 我在data.dat
有1 2 3 4 5 6 7 8 9
。
#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
#include <stdio.h>
#include <stdlib.h>
int main(){
int number=0;
int 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 (fscanf(data, "%d ", &a) != EOF)
{
number += a;
fprintf(sum, "%d ", number);
}
return 0;
}
#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((fscanf(data," %d",a))!=EOF){
number=number+a;
fprintf(sum,"%d",number);
}
return 0;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.