Форум программистов, компьютерный форум CyberForum.ru

Текстовые файлы - C++

Восстановить пароль Регистрация
 
qwerty1231
2 / 2 / 0
Регистрация: 07.12.2010
Сообщений: 7
07.12.2010, 22:43     Текстовые файлы #1
Имеется текстовый файл. Все четные строки этого файла записать во второй, а нечетные в третий файл. Порядок следования строк сохраняется.

Помогите, пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2010, 22:43     Текстовые файлы
Посмотрите здесь:

C++ Текстовые файлы
C++ Текстовые файлы
C++ Текстовые файлы
C++ Текстовые файлы
Текстовые файлы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
08.12.2010, 06:50     Текстовые файлы #2
fgets(), n % 2 == 0
qwerty1231
2 / 2 / 0
Регистрация: 07.12.2010
Сообщений: 7
10.12.2010, 23:43  [ТС]     Текстовые файлы #3
а можно полностью??

пожалуйста...
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
11.12.2010, 00:24     Текстовые файлы #4
типа как файлы открывать показывать

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    FILE *ifp, *evofp, *odofp;
 
    if ((ifp = fopen("infile.txt", "r")) == NULL) {
        fprintf(stderr, "error: can't open input file" "\n");
        return EXIT_FAILURE;
    }
 
    if ((evofp = fopen("even.txt", "w")) == NULL) {
        fprintf(stderr, "error: can't open or create output file" "\n");
        return EXIT_FAILURE;
    }
 
    if ((odofp = fopen("odd.txt", "w")) == NULL) {
        fprintf(stderr, "error: can't open or create output file" "\n");
        return EXIT_FAILURE;
    }
 
...
 
    fclose(ifp);
    fclose(evofp);
    fclose(odofp);
как читать файл в цикле
C
1
2
3
4
5
6
7
8
9
10
    char line[1000];
    long lineno = 0;
 
    while (fgets(line, sizeof line, ifp) != NULL) {
        lineno++;
        if (lineno % 2 == 0)
            fputs(line, evofp);
        else
            fputs(line, odofp);
    }
можно ещё в одну строчку, но лучше писать свободно, имея выбор
C
1
2
3
4
5
    char line[1000];
    long lineno = 0;
 
    while (fgets(line, sizeof line, ifp) != NULL)
        fputs(line, (++lineno % 2 == 0) ? evofp : odofp);
Yandex
Объявления
11.12.2010, 00:24     Текстовые файлы
Ответ Создать тему
Опции темы

Текущее время: 03:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru