[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 311
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
- Можно ли узнать количество элементов массива в файле? Как вообще избежать лишних действий в этом случае?
FileSize(handle) разделить на размер элемента = кол-во элементов?
FileSize(handle) разделить на размер элемента = кол-во элементов?
Это предположение?
Как узнать размер элемента в бинарном файле? Возможно какая-то его часть занята не только элементами?
Если задать count слишком большим то образуется большое количество нулевых значений (верно?)
А в документации вроде сказано
Это предположение?
Как узнать размер элемента в бинарном файле? Возможно какая-то его часть занята не только элементами?
Размер элемента зависит от того что вы туда пишите, либо 4 либо 8. Как у Вас выглядит процесс записи?
А в документации вроде сказано
Если в файле 1000 элементов, а count=20, то фактически будет прочитано 20.
Но что произойдет если count=5000?
Не понятно что они имеют в виду "Перед чтением данных массив должен быть достаточного размера" - проще было бы считывать все элементы в массив по количеству элементов, а потом если надо можно урезать массив и т.д.
Размер элемента зависит от того что вы туда пишите, либо 4 либо 8. Как у Вас выглядит процесс записи?
Я использую (запись и чтение это два независимых друг от друга этапа):
Я использую (запись и чтение это два независимых друг от друга этапа):
Функция записывает массив в бинарный файл. Массивы типа int, bool, datetime и color записываются поэлементно как 4-байтовые целые числа. Массивы типа double записываются поэлементно как 8-байтовые числа c плавающей запятой.
Выделил то, что Вам должно быть интересно. Если был записан массив double в файл, то разделив размер файла на 8 вы получите число элементов массива в файле.
Функция записывает массив в бинарный файл. Массивы типа int, bool, datetime и color записываются поэлементно как 4-байтовые целые числа. Массивы типа double записываются поэлементно как 8-байтовые числа c плавающей запятой.
Выделил то, что Вам должно быть интересно. Если был записан массив double в файл, то разделив размер файла на 8 вы получите число элементов массива в файле.
Сейчас открыл один сохраненный файл в текстовом просмотрщике - вот как он выглядит:
Похоже что в нем около 50 элементов (там и должно быть примерно столько элементов), но его размер 2432 байт. Видимо он хранит в себе "пустышки".