Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Visual C++/MFC/WTL > Бинарный файл в текстовый файл |
Автор: ElectroWave 10.5.2007, 14:09 |
Доброго время суток! Нужна помощь. Есть бинарный файл с данными (численные значения). Как можно перегнать эти данные в текстовый файл? Для этого нужно знать структуру файла? |
Автор: _hunter 10.5.2007, 14:48 |
естественно... |
Автор: ElectroWave 10.5.2007, 16:01 | ||
Предположим, я знаю структуру: 16 столбцов. Как узнать где именно нужно делать переход на другую строку или он сам перейдет если задать структуру? Я тут в MSDN нашел такой примерчик, где здесь нужно поставить описание структуры:
... но он выдает не то, что мне нужно и по одной строке, совсем не те числа: 234417339 1091278168 853450298 1072652777 1503567587 1072017895 1932544722 1081344903 -954215220 -1071506953 -1737824698 1075923624 1860225844 1071492782 -1926941994 1065756451 -636921022 1070643184 880778520 -1074319773 68948893 -1079918038 149155141 -1075467444 98616177 -1075096470 189652504 |
Автор: Sartorius 10.5.2007, 16:19 | ||
интересное у тебя описание структуры... ![]() |
Автор: _hunter 10.5.2007, 16:24 |
переход на другую строку нужно делать сразу после того, как закончился текущий елемент структуры. |
Автор: ElectroWave 10.5.2007, 16:30 |
я под структурой понял: 1 столбец - тип данных (long) 2 столбец - тип данных (long) и т.д. Если не так, поправьте. Добавлено через 6 минут и 17 секунд К примеру вот что там находится: time X(север) Y(восток) H Xv(м/c) Yv(м/c) Z(м/c) 443682.0068 5749901.6916 52511493.5102 825.7089 33.1911 -45.6565 -0.4673 И какова структура этого файла? Поясните, плз, а то я че-то запутался. |
Автор: _hunter 10.5.2007, 16:51 |
cудя по наличию точки -- это точно не лонг (возможно дабл) это тебе лучше знать... только файл это не бинарний... -- прочтые даблы разделенные толи пробелами толи табами. новая запись начинается с новой строки. все... |
Автор: ama_kid 10.5.2007, 16:52 | ||
ElectroWave, пробегавший рядом со мной телепат подсказал мне, что у тебя не бинарный файл, а... текстовый файл... ![]() ![]()
|
Автор: ElectroWave 10.5.2007, 18:43 |
Сорри, видимо я ввел Вас в заблуждение, показав конечный результат этой проблемки. Файл изначально бинарный, а уж потом только получают такой вид в текстовом файле: time X(север) Y(восток) H Xv(м/c) Yv(м/c) Z(м/c) 443682.0068 5749901.6916 52511493.5102 825.7089 33.1911 -45.6565 -0.4673 Как его получить? Можете примерчик привести, что-то не совсем въезжаю в тему про структуру. ![]() Еще раз извините что не совсем корректно объяснил проблему. |
Автор: _hunter 10.5.2007, 19:16 |
ты уже в который раз упоминаеш таинственный бинарный файл таинственной структуры, но так ниразу его и не показал... насчет чтения структур тут: http://www.programmersheaven.com/mb/CandCPP/90195/90195/readmessage.aspx почитай... |
Автор: ElectroWave 10.5.2007, 21:39 | ||
я бы Вам его показал, но он весит 65 метров, обычно этот файл достигает 300-500 метров. |
Автор: _hunter 11.5.2007, 10:30 |
так что ты от нас хочеш? хоть описание формата предоставь... |
Автор: ElectroWave 11.5.2007, 10:47 |
Мне известно: 1. Файл бинарный с расширением .out; 2. Известно, что содержимое файла при перегоне (как, не известно) его в текст выглядит так: 443682.0068 5749901.6916 52511493.5102 825.7089 33.1911 -45.6565 -0.4673 63.8016 -0.1591 8.9255 -5.7316 0.3471 0.6846 -1.9832 0.0114 0.0054 -0.0076 443682.0118 5749901.8344 52511493.7534 825.7066 33.2009 -45.6545 -0.4604 63.7992 -0.1570 8.9323 -5.7316 0.3341 -1.9753 -0.9557 0.0084 0.0237 -0.0084 ... и т.д. вот все что мне известно. |
Автор: _hunter 11.5.2007, 11:09 |
т.е. ничего не известно... |
Автор: Sartorius 11.5.2007, 11:10 |
Если уверен, что хедера нет, попробуй прочитать float double и long double и посмотри, где будет 443682.0068. Ну а дальше этот тип и читай... ЗЫ а вообще, если хочешь что б тебе помогли - выложи бинарник и текстовой вывод, который ему соответствует |
Автор: ama_kid 11.5.2007, 12:29 |
Или хотя бы его первые 200 кБ, если уж он весит 60 метров... |
Автор: ElectroWave 11.5.2007, 12:42 |
Спасибо за ответы и советы! ![]() Думаю разберусь. |
Автор: Rapalex 11.5.2007, 14:26 |
Тогда тему закрой. |