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

копирование файла - C++

Восстановить пароль Регистрация
 
J.A.B.
0 / 0 / 0
Регистрация: 08.07.2012
Сообщений: 14
18.02.2013, 16:59     копирование файла #1
недавно изучаю С++, собственно столкнулся с проблемой при копировании из одного файла в другой.
проблема заключается в дублировании последнего символа, насколько я понимаю, происходит это из-за EOF.
получилось обойти двухуровневым циклом, но чувствую что так вряд ли делается. может кто подскажет более изящное решение.
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
#include <iostream>
#include <fstream>
 
using namespace std;
 
int main()
{
    char ch;
    ofstream vyvod;
    ifstream vvod;
 
    vvod.open ("abc.txt");
    vyvod.open ("alpha.txt");
    while (!vvod.eof())
    {
        vvod.get(ch);
        while (!vvod.eof()){
        vyvod.put(ch);
        cout.put(ch);
        break;
    }}
 
    vvod.close();
    vyvod.close();
    return 0;
}
и ещё, огромная просьба, приведите любой пример, желательно попроще, с использованием .putback() . абсолютно не понимаю его назначение.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2013, 16:59     копирование файла
Посмотрите здесь:

C++ Копирование файла
Копирование файла C++
C++ Копирование из оного файла в др.
копирование файла C++
C++ Копирование строк с файла
C++ Копирование файла C++
C++ Структуры, копирование файла
C++ Копирование файла C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
18.02.2013, 17:18     копирование файла #2
попробуй так
C++
1
2
3
4
5
6
7
8
while (!vvod.eof())
    {
        vvod.get(ch);
        if(ch == EOF)
        break;
        vyvod.put(ch);
        cout.put(ch);
    }
J.A.B.
0 / 0 / 0
Регистрация: 08.07.2012
Сообщений: 14
18.02.2013, 21:05  [ТС]     копирование файла #3
благодарствую, работает. у меня было неправильное сравнение с EOF, поэтому такая тема не проходила.

просьба с примером .putback() всё ещё в силе.
Yandex
Объявления
18.02.2013, 21:05     копирование файла
Ответ Создать тему
Опции темы

Текущее время: 15:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru