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

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

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

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

05.11.2012, 08:55. Просмотров 494. Ответов 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; 
    
}
Вместо соединения файлов программа создает файл и записывает туда мусор, превышающий объем входных данных. В чем причина? Как исправить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2012, 08:55     Слияние нескольких исполняемых файлов
Посмотрите здесь:

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

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

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

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

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

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

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

Проект из нескольких файлов - C++
Всем привет. Столкнулся с проблемой. Использую codeblocks, совсем тривиальный пример. Есть три файла use.cpp my.cpp my.h. Файл...

Проект из нескольких файлов - C++
Выдает ошибку: error C3861: test: идентификатор не найден. и warning C4627: #include &quot;test.h&quot;: пропущен при поиске использования...

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

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

Компиляция нескольких файлов - C++
Создал проект на wxDevC++ таким образом: потом создал три файла в проекте: coordin.h #ifndef COORDIN_H_ #define COORDIN_H_...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.11.2012, 09:03     Слияние нескольких исполняемых файлов #2
C++
1
char *pointerbuff;
Указатель объявили, а память выделить?
Bohes
4 / 3 / 0
Регистрация: 10.07.2011
Сообщений: 331
Записей в блоге: 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);
                    }
Заработало
Ответ Создать тему
Опции темы

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