summaryrefslogtreecommitdiff
path: root/rushs/tinyprintf/io_merge_files/merge_files.c
blob: 26ac9cf31ccad5d5b2f2ad1da0fe4ba99e7f8143 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#define _POSIX_C_SOURCE 200809L

#include <stdio.h>

int merge_files(const char *file_1, const char *file_2)
{
    FILE *a = fopen(file_1, "a");
    if (a == NULL)
    {
        return -1;
    }
    FILE *r = fopen(file_2, "r");
    if (r == NULL)
    {
        return -1;
    }

    int c;
    while ((c = fgetc(r)) != EOF)
    {
        if (fputc(c, a) == EOF)
        {
            return -1;
        }
    }

    fclose(a);
    fclose(r);

    return 0;
}