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

Копирование данных из файлов в файл - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Управление памятью http://www.cyberforum.ru/cpp-beginners/thread785099.html
1. Требования к управлению памятью 1.1. перемещение 1.2. защита 1.3. совместное использование 1.4. логическая организация 1.5. физическая организация 2. Распределение памяти: 2.1. фиксированное распределение или динамическое распределение(какое вам удобнее распределение) 3. страничная организация 4. сегментация
C++ *this Пусть в классе определена такая функция String String::operator=() return *this; } this это указатель на данный объект. Тогда почему внутри нельзя написать return *this; Это ведь как разыменовывание указателя? Таким образом мы просто возвращаем данный объект. Но на деле функция должна быть такой (в определении добавился знак ссылки). String &String::operator() { http://www.cyberforum.ru/cpp-beginners/thread785093.html
Dev C++ задача на построение графика функции C++
Недавно начал изучать C++, до этого пытался выучить Си. Следовательно, хочу переделать график ф-ции sin(x) из СИ в C++ по точкам. Вот то, что я сделал в СИ. График строиться нормально, никаких ошибок не выбивает #include<stdio.h> #include <stdlib.h> #include <math.h> int main() { float x, y;
C++ Не работает быстрая сортировка для двумерного массива
Здравствуйте, возникла проблема, не работает быстрая сортировка по возрастанию абсолютных величин для двумерного массива. Работает только, если столбцов почему-то 3 или меньше, при больших не работает. Код функции: void quick(int** a, int m, int n) { int i = 0,j = n; // поставить указатели на исходные места int temp, p; p = a; // центральный элемент
C++ Вращения куба http://www.cyberforum.ru/cpp-beginners/thread785066.html
Куб должен быть с закрашенными сторонами. Вращения по x,y,z. Помогите!!!
C++ Пересчёт времени: MM:SS -> HH:MM программа пересчета велечины временного интервала заданного в минутах и секундах. в велечину, выраженную в часах и в минутах подробнее

Показать сообщение отдельно
Noobass
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 100
12.02.2013, 22:46     Копирование данных из файлов в файл
Привет, ребята! Мне необходимо написать программу, которая открывает потоки для чтения для двух файлов, и поток для записи - для одного. Я должен считать информацию с двух файлов и перекопировать ее в третий. Все бы ничего, но вот только проблема в том, что у меня должно перекопироваться следующим образов.
Вот 1-й файл:
eggs kites donuts
balloons hammers
stones
Вот 2-й файл:
zero lassitude
finance drama
В 3-м файле должно быть следующее:
eggs kites donuts zero lassitude
balloons hammers finance drama
stones
Вот мой код:
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
#include <iostream>
using namespace std;
#include <fstream>
#include <cstdlib>
const char * file_one="File1.dat";
const char * file_two="File2.dat";
const char * final="Final.dat";
const int size=256;
int main()
{
    char ch[size];
    ifstream fin_one;
    ifstream fin_two;
    ofstream fout;
    fin_one.open(file_one, ios::in);
    fin_two.open(file_two, ios::in);
    fout.open(final,ios::app|ios::out);
    if(!fin_one.is_open()||!fin_two.is_open()||!fout.is_open())
    {
        cerr<<"Error!!\a\n";
        exit(0);
    }
    int i,j,k,ct;
    for(j=0;j<3;j++)
    {
        for(i=0;i<size;i++)                 //Считывает символы с 1-го файла до тех пор, пока не наткнется на новую строку
        {
            if(!fin_one.eof()||fin_one.get()!='\n')
            {
                fin_one.get(ch[i]); //считал символ в массив
                fout<<ch[i];        //скопировал его в третий файл
            }
            else
                break;
        }
        fout<<" ";
        for(k=0;k<size;k++)                 //Считывает символы со 2-го файла до тех пор, пока не наткнется на новую строку
        {
            if(!fin_two.eof()||fin_two.get()!='\n')
            {
                fin_two.get(ch[k]); //считал символ в массив со 2-го файла
                fout<<ch[k];        //скопировал его в 3-й файл
            }
            else
                break;
        }
        fout<<"\n";
    }
    fin_one.clear();
    fin_one.close();
    fin_two.clear();
    fin_two.close();
    fout.clear();
    fout.close();
    system("pause");
    return 0;
}
Работает он неправильное, копирование происходит, но полнейший мусор (( Подскажите, где именно мой прокол?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru