繁体   English   中英

在 C 中将整数从一个文件复制到另一个文件

[英]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.dat1 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM