Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
12 / 12 / 2
Регистрация: 10.02.2011
Сообщений: 42
1

Залить два файла в один

03.03.2011, 23:31. Просмотров 931. Ответов 4
Метки нет (Все метки)

пока такое вот написал, не знаю как зделать так штоб елементы которые есть в первом и втором файле не записывались по два раза, тоесть если "1" есть в первом файле, то штоб с второго файла "1" еще раз не записывалось.


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
using namespace std;
 
int main()
{
    FILE *f1, *f2;
 
    f1 = fopen( "C:\\1.txt", "a");
    f2 = fopen( "C:\\2.txt", "r");
 
    char ch;
 
    while ( (ch = getc(f2)) != EOF )
    {
        putc ( ch, f1 );
    }
 
    fclose (f1);
    fclose (f2);
 
    system("pause");
 
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.03.2011, 23:31
Ответы с готовыми решениями:

Слить один два файла в один
Подскажите как слить 1 и 2 файл в 3 файл

Сформировать два файла: в один поместить положительные значения исходного файла, в другой - отрицательные
Нужна помощь в отредактировании программы Из файла, содержащего как положительные, так и...

два файла в один
При решении задачи с толкнулся с проблемой. Как содержимое двух текстовых файлов перенести в третий?

Соединить два файла в один
Кароч есть 2 файла один index второй action. Нужно все реализованное в action загрузить в index....

4
4849 / 3270 / 466
Регистрация: 10.12.2008
Сообщений: 10,569
04.03.2011, 03:23 2
C++
1
char ch;
C++
1
int ch;
загрузи данные в память, потом из памяти сохраняй в файл, проводя поиск
0
12 / 12 / 2
Регистрация: 10.02.2011
Сообщений: 42
06.03.2011, 00:33  [ТС] 3
вот што вышло с етого всего, теперь в первый файл дописывает елементы второго, если их количество в первом и втором одинаковое, а если больше или меньше то прога работает некоректно помогите плиз((

C++
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <iostream>
#include <stdio.h>
using namespace std;
 
int main()
{
    setlocale (LC_ALL, "Russian");
 
        FILE *f1, *f2;
 
        int n = 0, m = 0;
 
        cout<<"елементов в файле № 1 =";
        cin>>n;
        cout<<"\nелементов в файле № 2 =";
        cin>>m;
 
        char *F1 = new char[n+1];
        char *F2 = new char[m+1];
        char ch; 
        int i=0, j=0;
 
                f1 = fopen( "C:\\1.txt", "a+");
        f2 = fopen( "C:\\2.txt", "a+");
        
        do
        {
            ch = fgetc (f1);
            F1[i] = ch;
            i++;
        }
        while (ch != EOF);
 
        do
        {
            ch = fgetc (f2);
            F2[j] = ch;
            j++;
        }
        while (ch != EOF);
 
        for (int i = 0; i <= n;)
        {
            for (int j = 0; j <= m; j++)
            {
                if (F1[i] == F2[j]) i++;
                else
                    {
                        fprintf (f1,"%c", F2[j]);
                        i++;
                        }
            }
        }
        
        
        fclose (f1);
        fclose (f2);
 
        delete []F1;
        delete []F2;
 
        system("pause");
 
        return 0;
}
0
4849 / 3270 / 466
Регистрация: 10.12.2008
Сообщений: 10,569
06.03.2011, 04:37 4
много ошибок
C++
1
2
3
4
5
6
7
                do
                {
                        ch = fgetc (f1);
                        F1[i] = ch;
                        i++;
                }
                while (ch != EOF);
и что будет, если первый же символ EOF ?

не называй переменный большими буквами, большие буквы используются для констант
вот EOF - это константа, NULL - это константа, LC_ALL - это константа
эти константы определены через #define

ещё раз прочитай сообщение
если ты читаешь через getc()/fgetc() чего-нибудь, то она может возвращать как EOF, так и 0xFF - вещи, которые в char'е превращаются в одно и то же

вот это вот
C++
1
fprintf (f1,"%c", F2[j]);
вообще можно записать как putc(F2[j], f1);
2
12 / 12 / 2
Регистрация: 10.02.2011
Сообщений: 42
06.03.2011, 10:45  [ТС] 5
Цитата Сообщение от accept Посмотреть сообщение
и что будет, если первый же символ EOF ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
do
        {
            ch = fgetc (f1);
            if (i ==0 && ch == EOF)
                {
                    cout<<"result is in file № 2";
                    return 0;
                    }
            F1[i] = ch;
            i++;
        }
        while (ch != EOF);
Цитата Сообщение от accept Посмотреть сообщение
ещё раз прочитай сообщение
поставил
C++
1
int ch;

Цитата Сообщение от accept Посмотреть сообщение
вот это вот

C++
1
fprintf (f1,"%c", F2[j]);
исправил

но как зделать етот код под файлы с разным количеством елементов, м?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.03.2011, 10:45

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как склеить два файла в один?
Вообщем проблема в том, что мне нужно записывать в начало файла. я создаю новый файл записываю в...

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

Объединить два exe-файла в один
Добрый день! Есть программа на c++, ее исходники утеряны. Мне нужно нужно написать программу на...

Склеить два файла xml в один
Добрый день, есть две выгрузки xml файла, 1.xml и 2.xml нужно чтоб дописались в конец файла 1 из...

Объединить два бинарных файла в один
Даны два бинарных файла f1 и f2, компоненты которых - произвольные цепочки символов (компоненты...

Объединить два файла .fla в один
Всем здрасте! Я только начала изучать Macromedia Flash и у меня возник вопрос: возможно ли...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.