Как читать файлы и объединять их в двоичном виде в C - PullRequest
0 голосов
/ 28 октября 2019

Я пытаюсь создать программу, которая читает несколько файлов пользователя, добавляет их в двоичном виде и объединяет их в выходной файл.

Я пытался append файл, который я пишучтобы каждый раз, когда я добавлял к нему контент, он добавлялся с конца этого файла. но выходной файл не содержит объединенного текста.

КОД:

int main(int argc, char const *argv[])
{
    int n;
    puts("enter the number of files you want");
    scanf("%d", &n);

    char filename[150];
    char buffer[64];

    //declaring a file pointer
    FILE *fp;
    FILE *fw;

    fw = fopen("output.txt", "wb");
    if(fw == NULL)
    {
        perror("Error ");
        exit(EXIT_FAILURE);
    }

    for (int i = 0; i < n; ++i)
    {
        getchar();
        scanf(" %[^\n]", filename);

        fp = fopen(filename, "rb");
        if(fp == NULL)
        {
            perror("Error ");
            exit(EXIT_FAILURE);
        }

        fseek(fp,0,SEEK_END);
        long x = ftell(fp); 
                fseek(fp,0,SEEK_SET);
        buffer[x]='\0';



        fread(buffer, 64, 1, fp);
        printf("%s\n",buffer);  
        fwrite(buffer , 64, 64, fw);


        //fclose(fp);
        //fclose(fw);
    }


    return 0;
}
...