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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Bohes
4 / 3 / 0
Регистрация: 10.07.2011
Сообщений: 333
Записей в блоге: 1
#1

Слияние нескольких исполняемых файлов - C++

05.11.2012, 08:55. Просмотров 507. Ответов 2
Метки нет (Все метки)

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

Формат командной строки join.exe <inputfile>...<inputfile N> <output>

Получилась следующая программа:
C++ (Qt)
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
#include <stdio.h>
 
 
int main(int argc, char* argv[])
{
    
    if (argc > 3)
    {
        char buff;
        char * pointerbuff;
        int OutputIndex = argc-1;
        FILE * pInput = fopen (argv[OutputIndex],"w+");
        if (pInput != NULL)
        {
            for (int i = 1; i<OutputIndex;++i)
            {
                FILE * pInputf = fopen(argv[i],"r");
                if (pInputf != NULL)
                {
                    while (fread(pointerbuff,sizeof(char),1,pInputf)!=EOF)
                    {
                        fwrite(pointerbuff, sizeof(char),1,pInput);
                    }
                    fclose(pInputf);
                    pInputf = NULL;
                }
            }
            fclose(pInput);
            pInput = NULL;
        }
    }
    
    return 0; 
    
}
Вместо соединения файлов программа создает файл и записывает туда мусор, превышающий объем входных данных. В чем причина? Как исправить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2012, 08:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Слияние нескольких исполняемых файлов (C++):

Каталоги исполняемых файлов - C++
При подключении каталога исполняемых файлов в VS2010, построение даже пустых проектов говорит: 1&gt;InitializeBuildStatus: ...

Запуск и последующее удаление всех исполняемых файлов из каталога - C++
Здравствуйте. Прошу помочь написать программу, которая бы запускала все исполняемые файлы (.exe, .bat, .cmd) из заданного каталога, а потом...

Вывод списка исполняемых файлов (включая информацию о файлах) в заданном каталоге - C++
Разработать прикладную программу, осуществляющую выявление по содержимому в заданном каталоге на диске ПК всех исполняемых файлов и вывод...

Чересстрочное слияние файлов - C++
в проге через консоль Производный класс обеспечивает черезстрочное слияние двух текстовых файлов, количество строк которых может...

Файл: Слияние файлов - C++
Есть два текста, в которых записано последовательности положительных целых чисел по возрастанию. записать в Третий текст последовательность...

Перестановки, поиск, сортировка, слияние файлов - C++
1. При запуске программы пользователь вводит целое число - размер перестановки. Вывести на экран все перестановки заданного размера,...

2
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.11.2012, 09:03 #2
C++
1
char *pointerbuff;
Указатель объявили, а память выделить?
0
Bohes
4 / 3 / 0
Регистрация: 10.07.2011
Сообщений: 333
Записей в блоге: 1
05.11.2012, 09:48  [ТС] #3
Цитата Сообщение от alsav22 Посмотреть сообщение
C++
1
char *pointerbuff;
Указатель объявили, а память выделить?
прописал
C++ (Qt)
1
pointerbuff = &buff;
, но программа ведет себя также

Добавлено через 15 минут
Программа зацикливается на первой итерации цикла for, значит что-то не так с условием цикла while
C++ (Qt)
1
  while (fread(pointerbuff,sizeof(char),1,pInputf)!=EOF)
Но что?

Добавлено через 18 минут
Поменял параметры открытия с "w+" и "r" на "wb+" и "rb", а также цикл:
C++ (Qt)
1
2
3
4
5
while (!feof(pInputf))
                    {
                        fread(pointerbuff,sizeof(char),1,pInputf);
                        fwrite(pointerbuff, sizeof(char),1,pInput);
                    }
Заработало
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2012, 09:48
Привет! Вот еще темы с ответами:

СЛИЯНИЕ ФАЙЛОВ!!!!! - C++
Есть два файла,их имена вводятся с консоли.Надо чересстрочно их слиять в производном классе при определенных условиях(наприме при f1&gt;f2...

Слияние двух файлов по алгоритму: цифра вставляется после двух символов - C++
#include &lt;iostream&gt; #include &lt;io.h&gt; #include &lt;stdio.h&gt; #include &lt;windows.h&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; using...

Компиляция нескольких файлов - C++
Здравствуйте, есть программа состоящая из 4 cpp, необходимо ее собрать, попытался собрать с помощью MinGW(взял тут...

Чтение нескольких файлов - C++
Приветствую, уважаемые. Возникла небольшая проблемка, вот у меня есть некоторое количество файлов (чуть больше, чем до фига), и все их...


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

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

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