Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2010, 14:56   #1
kitty19
Пользователь
 
Регистрация: 02.11.2009
Сообщений: 24
По умолчанию Объединение двух файлов в один

Нужно объединить 2 входных файла в один (третий).Я написала след. код:
Код:
#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <string>

using namespace std;

main()
{
FILE *in1,*in2,*out;
char c;
cout<<"Введите путь к первому файлу"<<"\n";
char *f1 = new char;
fgets(f1, 100,stdin);
cout<<"Введите путь ко второму файлу"<<"\n";
char *f2 = new char;
fgets(f2, 100,stdin);
cout<<"Введите путь к результирующему файлу"<<"\n";
char *f3 = new char;
fgets(f3, 100,stdin);
in1=fopen(f1,"r");
out=fopen(f3,"a"); 
while ( (c=fgetc(in1) ) != EOF)
        {
fputc( c,out );
        };
fclose(in1);
in2=fopen(f2,"r");

while ( (c=fgetc(in2) ) != EOF)
        {
fputc( c,out );
        };
  fclose(out);
  fclose(in2); 
}
Но постоянно выдается ошибка сегментирования (пишу под Linux)!
С с++ работаю впервые, поэтому заранее извиняюсь если ошибки очень глупые...
kitty19 вне форума Ответить с цитированием
Старый 15.12.2010, 15:01   #2
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Если вы работаете с C++ - используйте потоковый ввод\вывод
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 15.12.2010, 15:07   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Код:
char *f1 = new char;
fgets(f1, 100,stdin);
Выделяете память под один символ, а пытаетесь писать сколько? И т.д.
p51x вне форума Ответить с цитированием
Старый 15.12.2010, 15:35   #4
kitty19
Пользователь
 
Регистрация: 02.11.2009
Сообщений: 24
По умолчанию

исправила везде на
Код:
char *f1 = new char[100];
Ошибка осталась.
При попытке работать с потоками появляется ошибка, что не определена ф-ция eof().
kitty19 вне форума Ответить с цитированием
Старый 15.12.2010, 15:51   #5
kitty19
Пользователь
 
Регистрация: 02.11.2009
Сообщений: 24
По умолчанию

Все, задача решена через потоки.
Всем спасибо за помощь)
kitty19 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объединение файлов одинаковой структуры в один файл Tankiss Microsoft Office Excel 20 11.09.2013 17:25
Объединение двух файлов Zig-Zag Microsoft Office Excel 10 25.10.2010 23:43
Объединение данных из разных файлов на один лист Комо Microsoft Office Excel 11 22.06.2010 21:26
Объединение двух Tchart в один (Delphi) Николай ПН Помощь студентам 5 18.03.2010 22:57
Объединение двух и более файлов Morphling Помощь студентам 5 10.02.2010 10:09