| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > преобразование битов в файл |
| Автор: ZC1989 6.12.2006, 21:40 |
| Подскажите как биты файла уже загруженные в память преобразовать в объект обычного файла или ещё во что, но что бы можно было с ними работать через обычные функции чтения на подобии std::fstream read(…); или подобных же АПИшных… файл текстовый Получаю я этот набор битов читая файл из зип-архива и прочитанное помещается в void *pBuffer Так что переделать структуру чтения никак не получится… |
| Автор: Aleksandor 6.12.2006, 22:07 |
| А зачем функции чтения из файла если данные уже прочитаны и лежат в буфере?? А если еще не прочитаны, то ReadFile целиком в буфер или CreateFileMapping |
| Автор: ZC1989 6.12.2006, 22:15 |
| Aleksandor, мне после того как файл прочитан из архива нужно его разобрать по словам... и если есть более красивая возможность это сделать не через функции чтения подскажите |
| Автор: Aleksandor 6.12.2006, 22:21 |
| а что значит разобрать по словам ? |
| Автор: ZC1989 6.12.2006, 22:48 |
| Aleksandor, в файле написаны слова в привычном понимании, так вот мне нужно получать одно за одним и уже плясать от того что это за слово... вобщем перебрать файл по словам разделённым пробелами |
| Автор: Aleksandor 6.12.2006, 23:27 | ||
в run-time есть strpbrk и strchr, можно их заюэать или написать свой аналог типа MyReadNextWord(...)
|
| Автор: ZC1989 6.12.2006, 23:31 |
| Aleksandor, пасиб, я попробую это, ну а на кройняк, отчаившись буду временный файл создавать, туда записывать биты и уже привычно их читать... - самый бредовый вариан за сегодня |
| Автор: ZC1989 7.12.2006, 00:04 |
| Aleksandor, слушай, я попробовал вывести в командной строке содержимое файла побитовое получил 0х00320940 (в файле написано слово "testing") это нормально? ЗЫ: никогда до этого с битами не работал... (всё когда-то бывает в первый раз да, и ещё, в зиповской функции получения битов файла нужно указать размер буфера, но от изменения этой величины реззультат не меняется |
| Автор: ZC1989 7.12.2006, 00:31 |
| предыдущий вопрос можно проигнорить... начал понимать, наконец-то... остался последний вопрос, как из этого буфера сформировать char * или char[MAX_PATH]? я попробовал, в работе возникает ошибка, через strcpy тож не получается... |
| Автор: Aleksandor 7.12.2006, 07:05 | ||
Может так?
|
| Автор: ZC1989 7.12.2006, 14:30 |
| это не подходит... вместо нормального слова "testing" на екран выводится ересь... пробовал преобразовывать тож бесполезно... хотя первую букву слова получать получалось через pBuffer[0] |
| Автор: ZC1989 7.12.2006, 15:05 |
| Всё, отбой! Aleksandor, пасибо за помошь |