IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> Файлы C++
ammaximus
сообщение 18.01.2009 18:55
Сообщение #1


Ночной волк
**

Группа: Пользователи
Сообщений: 103
Пол: Мужской

Репутация: -  1  +


Программа должна копировать содержимое одного файла в дркгой с удалением пробелов. Чтение буферизовано по 5 символов.
#include <iostream.h>
#include <fstream.h>
#include <iomanip.h>
void main ()
{
ifstream vvod;
//Открыть файл для чтения
vvod.open ("source.txt",ios::in);

if (!vvod) //Ошибка?
{ cout<<endl<<"Не могу открыть source.txt для чтения!";
return;}

vvod.seekg (0,ios::beg); //Перейти в начало файла при чтении

char buffer[5];
int i;
ofstream vivod;
vivod.open("target.txt",ios::out|ios::trunc);
if (!vivod) //Ошибка?
{ cout<<endl<<"Не могу открыть target.txt для чтения!";
return;}
while (!vvod.eof()) {
vvod.read(buffer,1);
//for (i=0; i<20; ++i) {
if (buffer[i] != " "){ 9999проблема со сравнением
vivod.write(buffer[i],1);}
// }
}
vivod.close();
vvod.close(); // Закрытие файла
return;
}

Еще надо отработать все возможные ошибки


--------------------
Не думай о белой обезьяне.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
ammaximus
сообщение 19.01.2009 22:46
Сообщение #2


Ночной волк
**

Группа: Пользователи
Сообщений: 103
Пол: Мужской

Репутация: -  1  +


   vivod.write(reinterpret_cast<char *>(&buffer[0]), 1); // приведение типа, иначе будет ошибка


Можно разжевать эту строчку?

Цитата
Хотя я бы сделал совсем по-другому: читал бы файл source.txt построчно (в std::string), потом из строки удалял бы все пробелы, и записывал строку в выходной файл.


Покажи. Я только начал учить язык.


--------------------
Не думай о белой обезьяне.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 31.07.2025 23:44
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"