Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Новый участник


Сообщения: 33
Благодарности: 12

Профиль | Отправить PM | Цитировать


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

открыть файл в режиме дозаписи, включить флаг ws (исключение пробельных символов) на поток выхода, читать первый символ и перезаписывать его с исключенными пробелами, потом затереть часть текста, который остался "лишним, из-за удаления пробельных символов).

Код: Выделить весь код
#include <iostream>
#include <fstream>
using namespace std;

int main()
{

char ch;
int i;

fstream both("Имя или путь к файлу", ios::ate | ios::binary);

if(!both)
{
cout << "Не удалось открыть файл \n";
return 1;
}


while(both.get(ch))  // считывает символы до достижения eof
{
both >> ws >> ch;  // в данном случае ws должно выполнять функцию фильтра от пробельных символов
}

both.close();

return 0;
}
Можно включить флаг заранее, а не прямо во время вывода (cout.setf(ios::skipws); например)

Работать это не будет - нужно подумать как затереть оставшуюся часть, когда тексты будут слеплены вместе, но вроде идея должна работать))

Цитата Ferum01:
что такой бинарный файл? »
Двоичный (бинарный) файл — в широком смысле: последовательность произвольных байтов. Название связано с тем, что байты состоят из бит, то есть двоичных (англ. binary) цифр.
В узком смысле слова двоичные файлы противопоставляются текстовым файлам. При этом с точки зрения технической реализации на уровне аппаратуры, текстовые файлы являются частным случаем двоичных файлов, и, таким образом, в широком значении слова под определение «двоичный файл» подходит любой файл.

Последний раз редактировалось Lisiy_egik, 15-11-2009 в 15:19. Причина: верезал, а обратно не вставил))


Отправлено: 13:00, 15-11-2009 | #3