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

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

Войти
Регистрация
Восстановить пароль
 
Semapv
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 11
#1

Лишние символы при копирование текстового файла - C++

19.09.2010, 13:22. Просмотров 1030. Ответов 4
Метки нет (Все метки)

не могу понять почему при копировании текстового файла у меня вставляются в конец куча лишних символов, причем чем больше файл тем больше будет символов, например я пытаюсь скопировать:

....города, поспешившей туда на шум. Когда привели его к начальнику, немедленно подвергли пытке, как человека, которого все считали негоднейшим, и он сознался, что проник в дом ростовщиков с целью воровства, почему начальник решил тотчас же велеть его повесить.
, а в итоговом получаю:
....города, поспешившей туда на шум. Когда привели его к начальнику, немедленно подвергли пытке, как человека, которого все считали негоднейшим, и он сознался, что проник в дом ростовщиков с целью воровства, почему начальник решил тотчас же велеть его повесить.
ННННН
вот код программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
    ofstream f("c:\\temp1.txt");
    ifstream f1("c:\\temp.txt");
    if (!f||!f1)
    {
        cout << "error";
        return 0;
    }
    f1.seekg (0, ios::end);
    int length = f1.tellg();
    f1.seekg (0, ios::beg);
    char * s = new char [length];
        f1.read(s,length);
        f.write(s,length);
    f1.close();
    f.close();
    return 1;
}
Наверно плохо искал, но так и не нашел из-за чего могут появиться лишние символы.
ладно бы вставлял другой размер буфера, так ведь вставлю тоже что и прочитал, а итоговый файл получается больше исходного.
Подскажите, пожалуйста, где и что я пропустил.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.09.2010, 13:22     Лишние символы при копирование текстового файла
Посмотрите здесь:
Лишние символы при чтении из файла C++
Лишние символы при чтении бинарного файла C++
C++ При чтение из файла в начало строки добавляются лишние символы
Удалить в каждой строке лишние пробелы; исходную информацию считать из текстового файла C++
C++ Лишние символы при записи в файл
Лишние символы при выводе строк C++
Лишние символы в конце строки при копировании C++
При выводе массива выводятся лишние непонятные символы C++
C++ Отображаются лишние символы при выводе массива символов
C++ Добавляются лишние символы при выводе данных в поток
Копирование содержимого текстового файла C++
Копирование из текстового файла в бинарный C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
19.09.2010, 13:34     Лишние символы при копирование текстового файла #2
Файл, с к-рым код не работает, можешь привести ?
Semapv
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 11
19.09.2010, 13:44  [ТС]     Лишние символы при копирование текстового файла #3
Код работае, только не так как надо, вот файл в архиве
Вложения
Тип файла: rar temp.rar (164.1 Кб, 16 просмотров)
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
19.09.2010, 14:10     Лишние символы при копирование текстового файла #4
Попробуйте открывать файлы в бинарном режиме, скорее всего что-то спереносами строк:
C++
1
2
ofstream f("temp1.txt", ios::binary);
ifstream f1("temp.txt", ios::binary);
И не забудьте в конце программы освободить выделенную память.
C++
1
delete[] s;
Также принято возвращать 0 в случае успешного завершения программы и другие значения в случае ошибок, у Вас наоборот.
Semapv
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 11
19.09.2010, 14:13  [ТС]     Лишние символы при копирование текстового файла #5
Спасибо, действительно помогло.
Yandex
Объявления
19.09.2010, 14:13     Лишние символы при копирование текстового файла
Ответ Создать тему
Опции темы

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