Как прочитать входные данные из файла и записать выходные данные в другой файл в C - PullRequest
4 голосов
/ 11 марта 2011

Я не очень хорош в C. Как я могу заставить мою программу читать входные данные из файла и записывать выходные данные в другой файл на C?

Ответы [ 4 ]

4 голосов
/ 11 марта 2011

Для C ++ есть отличные примеры здесь и здесь .

Для C, проверьте эту ссылку . Он открывает файл, пишет что-то на нем, а затем читает из него. Это в значительной степени то, что вы ищете. Кроме того, эта страница великолепна , так как подробно объясняет fopen / fread / fwrite.

3 голосов
/ 11 марта 2011
0 голосов
/ 04 марта 2013

Если у вас есть только один входной файл и только один выходной файл, самый простой способ - использовать freopen:

#include <cstdio>
int main ()
{
    freopen("input.txt","r",stdin);
    freopen("output.txt", "w", stdout);

    /* Now you can use cin/cout/scanf/printf as usual,
    and they will read from the files specified above
    instead of standard input/output */
    int a, b;
    scanf("%d%d", &a, &b);
    printf("%d\n", a + b);

    return 0;
}
0 голосов
/ 24 декабря 2011

Используя ссылку karlphillip, я получил этот код:)

РЕДАКТИРОВАТЬ: Улучшенная версия кода.

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    FILE *fs, *ft;
    int ch;
    fs = fopen("pr1.txt", "r");
    if ( fs == NULL )
    {
        fputs("Cannot open source file\n", stderr);
        exit(EXIT_FAILURE);
    }
    ft = fopen("pr2.txt", "w");
    if ( ft == NULL )
    {
        fputs("Cannot open target file\n", stderr);
        fclose(fs);
        exit(EXIT_FAILURE);
    }
    while ((ch = fgetc(fs)) != EOF)
    {
        fputc(ch, ft);
    }
    fclose(fs);
    fclose(ft);
    exit(EXIT_SUCCESS);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...