![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 24.11.2010
Сообщений: 23
|
![]()
Как можно получить любой файл в виде массива бит (именно бит, не байт) чтобы произвести непосредственно над каждым битом действие, и из выходной последовательности бит получить файл (не список бит в текстовом файле, а именно файл из этих бит).
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]()
Когда Вы читаете из файла int, Вы получаете 32(64) бита. Некоторые языки предоставляют интерфейсы файла как текстового и битового потока, в этом случае нужно задействовать второй. Когда в файл как в битовый поток записывается int, в него записываются 32(64) бита.
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 24.11.2010
Сообщений: 23
|
![]()
То, мягко говоря, не по теме.
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
очень даже по теме.
считывая например, char, считываете сразу 8 бит, а как вы уже их обработаете ваше дело. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]()
Это, строго говоря, по теме.
Для примера: Код:
Последний раз редактировалось Abstraction; 30.10.2011 в 22:19. Причина: Ошибка при объявлении переменной |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 24.11.2010
Сообщений: 23
|
![]()
я получаю через поток файл, мне надо его разбить на байты потом на биты
Что в итоге делает это?: Код:
Последний раз редактировалось revanatar; 30.10.2011 в 21:47. |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]()
Флаг std::ios::binary говорит "читать файл как есть, в том числе и специальные символы". Приведённый пример прочитает первый байт файла даже если этот байт 0x0D.
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 24.11.2010
Сообщений: 23
|
![]()
А как прочитать все, если я не знаю сколько их? использовать eof ?
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 24.11.2010
Сообщений: 23
|
![]()
Делая так например, получаю в строку f такое: Rar!
Код:
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]()
Читайте не в строку, а в буфер char*, как в приведённом коде. Я не уверен, что тип string нормально воспринимает произвольные байты.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перевести строчку в битовое представление | artem611 | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 08.04.2011 19:15 |
Представление графа. | Lodyr | Общие вопросы C/C++ | 3 | 13.03.2011 18:00 |
Представление данных | Вечно грустная... | Помощь студентам | 17 | 15.02.2011 19:03 |
представление группировки | Domanoff | БД в Delphi | 13 | 07.04.2010 18:09 |