Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Портал .::2BakSa.WS::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Программирование > Visual C++ / С/C++

Уважаемые пользователи nowa.cc и 2baksa.ws. У нас сложилось тяжёлое финансовое положение. Мы работаем для вас вот уже более 15 лет и сейчас вынуждены просить о помощи. Окажите посильную поддержку проектам. Мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: 826074280762 Webmoney WME: 804621616710
PayPal PayPal_Email E-mail для связи по вопросу помощи
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!
Ответ
 
Опции темы Опции просмотра Language
Старый 14.11.2008, 23:17   #1
Неактивный пользователь
 
Регистрация: 14.11.2008
Сообщений: 1
Репутация: 0
По умолчанию Как прочитать числа из бин-файла?

Ессть бин файл с вещественными числами. Как их оттуда прочитать по одному?
Umnik1 вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама: Хорошее предложение в KNS на взять ноутбук в кредит - более 50-ти тысяч наименований товаров со склада в Москвезубные коронки из цирконияизготовление рекламных вывесок в москвеConecte SalesDrive a Zoho MeetingGoogle Drive и Miro


Старый 15.11.2008, 05:40   #2
Ivan_32
Постоялец
 
Аватар для Ivan_32
 
Регистрация: 23.12.2007
Адрес: FFFF:64E9
Сообщений: 221
Репутация: 64
По умолчанию Re: Как прочитать числа из бин-файла?

fRead() , позволяет читать данные бинарным способом. Для этого файл должен быть открыт с параметром "rb" в fopen. double и float если не ошибусь занимают 8 и 4 байта соответственно.
Тоесть вы сможете как источник подставить float* и прочесть данные по 4 байта в этот массив. Но есть одна проблема - количество этих чисел - его нужно знать заранее, но это будет не проблема если узнаете размер файла...
__________________
Проблема есть следствие ее решения...
Чем больше я узнаю, тем больше чувствую себя дураком.
Ivan_32 вне форума
 
Ответить с цитированием Вверх
Старый 17.11.2008, 10:33   #3
zss
Постоялец
 
Пол:Мужской
Регистрация: 05.02.2007
Адрес: Москва
Сообщений: 662
Репутация: 271
По умолчанию Re: Как прочитать числа из бин-файла?

Код:
FILE *f=fopen("mydata.bin","rb");
double x[1000];
i=0;
while( i<1000 && (fread(&x[i],sizeof(double),1,f)!=0))
 i++;
fclose(f);
__________________
Сергей Сергеевич
zss вне форума
 
Ответить с цитированием Вверх
Эти 2 пользователя(ей) сказали cпасибо за это полезное сообщение:
Старый 18.11.2008, 14:06   #4
k0t_
Пользователь
 
Пол:Мужской
Регистрация: 27.02.2008
Адрес: Днепропетровск, Украина
Сообщений: 149
Репутация: 802
По умолчанию Re: Как прочитать числа из бин-файла?

Цитата:
Сообщение от zss Посмотреть сообщение
double x[1000];

вообще то в стандартной библиотеке для этого существует vector<double>
Код:
typedef vector<double> VecDouble;
VecDouble array;
FILE *f=fopen("mydata.bin","rb");
double x=0.0;
while( fread(&x,sizeof(double),1,f)!=0)
 array.push_back(x);
fclose(f);
при условии конечно что в данном файле значения идут подряд и занимают по 8 байт.
k0t_ вне форума
 
Ответить с цитированием Вверх
Старый 19.11.2008, 21:53   #5
zss
Постоялец
 
Пол:Мужской
Регистрация: 05.02.2007
Адрес: Москва
Сообщений: 662
Репутация: 271
По умолчанию Re: Как прочитать числа из бин-файла?

Автор не задавал вопрос о способе размещения прочитанных данных.
Задача была прочитать числа по одному.
Кстати, ему уже похоже данная тема по барабану.
__________________
Сергей Сергеевич
zss вне форума
 
Ответить с цитированием Вверх
Старый 19.11.2008, 22:35   #6
k0t_
Пользователь
 
Пол:Мужской
Регистрация: 27.02.2008
Адрес: Днепропетровск, Украина
Сообщений: 149
Репутация: 802
По умолчанию Re: Как прочитать числа из бин-файла?

Цитата:
Сообщение от zss Посмотреть сообщение
Автор не задавал вопрос о способе размещения прочитанных данных.
Задача была прочитать числа по одному.
Кстати, ему уже похоже данная тема по барабану.

автор нуб.
а как опредилить профпринадлежность человека который пишит подобный код и приводит его в ответе? Сантехник? Столяр? Дворник? Не программист - это точно.
k0t_ вне форума
 
Ответить с цитированием Вверх
Старый 22.11.2008, 17:58   #7
zss
Постоялец
 
Пол:Мужской
Регистрация: 05.02.2007
Адрес: Москва
Сообщений: 662
Репутация: 271
По умолчанию Re: Как прочитать числа из бин-файла?

Цитата:
typedef vector<double> VecDouble;

Как Вы думаете, много ли начинающих программистов понимают,
что эта строка означает?
Мое мнение, что пока человек не научился работать с простыми массивами,
ему не стоит браться за темплейты и контейнеры.
__________________
Сергей Сергеевич

Последний раз редактировалось zss; 22.11.2008 в 18:01..
zss вне форума
 
Ответить с цитированием Вверх
Старый 22.11.2008, 19:10   #8
k0t_
Пользователь
 
Пол:Мужской
Регистрация: 27.02.2008
Адрес: Днепропетровск, Украина
Сообщений: 149
Репутация: 802
По умолчанию Re: Как прочитать числа из бин-файла?

Может быть я конечно резко выразился - но в данном случае подобное использование массива, вряд ли свидетельствует о том что программист "научился работать". Это не просто плохой стиль программирования - на любом собеседовании в серьезные компании даже на должность юниора за подобный код вы получите низший бал - потому что ваш код по сути решает задачу в очень ограниченном объеме. Или я не прав?
Цитата:
Сообщение от zss Посмотреть сообщение
Как Вы думаете, много ли начинающих программистов понимают,
что эта строка означает?

это базовые основы языка - почему вы считаете что определение "начинающий" позволяет этого не знать?
Цитата:
Сообщение от zss Посмотреть сообщение
Мое мнение, что пока человек не научился работать с простыми массивами,
ему не стоит браться за темплейты и контейнеры.

объект вектор является частью стандартной библиотеки языка - и как раз предназначен для использования в подобных ситуациях. Чем отличается ваше использование "простого массива" и в чем "не простота" использования вектора? В данном случае мы не получаем никакого выигрыша от использования простого массива - но в полной мере получаем все его проблемы. В чем я не прав, и почему должно быть разделение - начинающим - массивы, продвинутым - контейнеры и шаблоны?
k0t_ вне форума
 
Ответить с цитированием Вверх
Старый 23.11.2008, 20:07   #9
zss
Постоялец
 
Пол:Мужской
Регистрация: 05.02.2007
Адрес: Москва
Сообщений: 662
Репутация: 271
По умолчанию Re: Как прочитать числа из бин-файла?

Дело не в выигрыше. А в том, что контейнеры, это объекты.
Соответственно, чтобы их сознательно использовать, надо
изучить всю технологию объектно ориентированного программирования.
В рамках УЧЕБНОГО примера, который мы с Вами обсуждаем, совершенно незачем
переходить к ООП. Обратите внимание, что, как правило, учебные примеры весьма
далеки от кода, который потом реально пишется.
__________________
Сергей Сергеевич
zss вне форума
 
Ответить с цитированием Вверх
Старый 23.11.2008, 21:02   #10
k0t_
Пользователь
 
Пол:Мужской
Регистрация: 27.02.2008
Адрес: Днепропетровск, Украина
Сообщений: 149
Репутация: 802
По умолчанию Re: Как прочитать числа из бин-файла?

Цитата:
Сообщение от zss Посмотреть сообщение
А в том, что контейнеры, это объекты.
Соответственно, чтобы их сознательно использовать, надо
изучить всю технологию объектно ориентированного программирования.

Здесь я с вами не согласен. Как такового ООП здесь нет и не предвидеться. Использование объектов - еще не объектно-ориентированное программирование.
И для использования объектов из набора стандартной библиотеки С++ вовсе нет особой необходимости быть специалистом в ООП - достаточно просто знать что они есть.
Вы кстати в пылу спора сами себе начали противоречить - использовать дескриптор файла (указатель на объект файлового потока) из стандартной библиотеки ввода-вывода начинающий может использовать, а такой же объект из стандартной библиотеки шаблонов - ему почему-то надо изучить всю технологию ООП
(Кстати и вы и я допустили грубую ошибку в коде - оба используем дескриптор не проверив его - это так, к слову).

Добавлено через 9 минут
Цитата:
Сообщение от zss Посмотреть сообщение
Обратите внимание, что, как правило, учебные примеры весьма
далеки от кода, который потом реально пишется.

как раз после такого "учебного" кода, и пишется зачастую "индийский код". Чесслово, не в обиду.

Последний раз редактировалось k0t_; 23.11.2008 в 21:11.. Причина: Добавлено сообщение
k0t_ вне форума
 
Ответить с цитированием Вверх
Старый 24.11.2008, 09:10   #11
zss
Постоялец
 
Пол:Мужской
Регистрация: 05.02.2007
Адрес: Москва
Сообщений: 662
Репутация: 271
По умолчанию Re: Как прочитать числа из бин-файла?

Без дескриптора файла не обойтись,
его в данном примере надо как-то читать.

В принципе, наше обсуждение здесь довольно бессмысленное,
поскольку вряд ли Вам понадобится учить программированию
людей, которые полные чайники.
__________________
Сергей Сергеевич
zss вне форума
 
Ответить с цитированием Вверх
Старый 24.11.2008, 10:19   #12
k0t_
Пользователь
 
Пол:Мужской
Регистрация: 27.02.2008
Адрес: Днепропетровск, Украина
Сообщений: 149
Репутация: 802
По умолчанию Re: Как прочитать числа из бин-файла?

Учить полных чайников не сложно - гораздо сложнее потом переучивать. Дурные привычки приобретаются легко. Исчезают трудно.
k0t_ вне форума
 
Ответить с цитированием Вверх
Ответ


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из числа в текст. Excel. mrpleasure МOffice, Переводчики (словари), Органайзеры, Текстовые редакторы 9 19.03.2014 11:08
комплексные числа BFTFenix Visual C++ / С/C++ 15 05.02.2011 10:48
Перевод из двоичного числа в десятичное Crosslive Программирование 2 22.10.2007 13:22

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 11:32. Часовой пояс GMT +3.


Copyright ©2004 - 2024 2BakSa.WS

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.17825 секунды с 11 запросами