Сохранение в файл многомерного массива

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Artem Mordvinkin
1340
Artem Mordvinkin  

Всем привет! Коллеги, подскажите, пжлст, как компактно сохранить (и потом прочитать) в файл многомерный массив (2-х мерный  arr[400][15]);

Заранее спасибо! 

Yuriy Asaulenko
9360
Yuriy Asaulenko  
Artem Mordvinkin:

Всем привет! Коллеги, подскажите, пжлст, как компактно сохранить (и потом прочитать) в файл многомерный массив (2-х мерный  arr[400][15]);

Заранее спасибо! 

Эт зависит от того, где читать будете. Если из МТ пишите и из МТ читаете , то прямо так и сохраняйте, как бинарные данные.
Artem Mordvinkin
1340
Artem Mordvinkin  
Yuriy Asaulenko:
Эт зависит от того, где читать будете. Если из МТ пишите и из МТ читаете , то прямо так и сохраняйте, как бинарные данные.
алгоритм нужен (код)
Yuriy Asaulenko
9360
Yuriy Asaulenko  
Artem Mordvinkin:
алгоритм нужен (код)
Код в справке. Файл сохранить, файл прочитать. 2 строчки.
Artem Mordvinkin
1340
Artem Mordvinkin  
Yuriy Asaulenko:
Код в справке. Файл сохранить, файл прочитать. 2 строчки.
как писать и читать файлы я знаю:) Я не могу придумать как компактно сохранить массив [400][15] . Причем  массив заполнен не полностью (чаще второй индекс не более 4-х). Имеет смысл не хранить пустые значения... но как присвоить значения нужным индексам массива при чтении из файла... и чтобы это было компактно...
Yuriy Asaulenko
9360
Yuriy Asaulenko  
Artem Mordvinkin:
как писать и читать файлы я знаю:) Я не могу придумать как компактно сохранить массив [400][15] 
Прямо так, впрямую. Компактно его никак не сохранишь, все одно длина 400*15. Да и массив небольшой.)
Artem Mordvinkin
1340
Artem Mordvinkin  
Yuriy Asaulenko:
Прямо так, впрямую. Компактно его никак не сохранишь, все одно длина 400*15. Да и массив небольшой.)
ок. ну раз вариантов нет, так и сделаю - перебором
Yuriy Asaulenko
9360
Yuriy Asaulenko  
Artem Mordvinkin:
ок. ну раз вариантов нет, так и сделаю - перебором
Каким перебором? Если не изменяет память, то массив должен одной операцией в файл записаться, как бинарные данные. Я это делал в С++, но в MQL не приходилось, но т.к. запись бинарных данных в MQL есть, то должно прокатить.
Artem Mordvinkin
1340
Artem Mordvinkin  
Yuriy Asaulenko:
Каким перебором? Если не изменяет память, то массив должен одной операцией в файл записаться, как бинарные данные. Я это делал в С++, но в MQL не приходилось, но т.к. запись бинарных данных в MQL есть, то должно прокатить.
Я не понял как это сделать - не получилось. В документации описан пример сохранения одномерного массива.
Yuriy Asaulenko
9360
Yuriy Asaulenko  
Artem Mordvinkin:
Я не понял как это сделать - не получилось. В документации описан пример сохранения одномерного массива.

Придется глянуть.))

WHOLE_ARRAY не пробовали? 

Если спецификации массивов по выделяемой памяти в С++ и MQL совпадают, то можно попробовать нач. индекс 0 и конечный 400*15-1. 

https://www.mql5.com/ru/docs/files/filewritearray 

Документация по MQL5: Файловые операции / FileWriteArray
Документация по MQL5: Файловые операции / FileWriteArray
  • www.mql5.com
Файловые операции / FileWriteArray - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Artem Mordvinkin
1340
Artem Mordvinkin  
Yuriy Asaulenko:

Придется глянуть.))

WHOLE_ARRAY не пробовали? 

Если спецификации массивов по выделяемой памяти в С++ и MQL совпадают, то можно попробовать нач. индекс 0 и конечный 400*15-1. 

https://www.mql5.com/ru/docs/files/filewritearray 

Спасибо, Юрий! Этот вариант я не пробовал (смотрел раздел массивы -> сохранение в файл), Сейчас попробую
123
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий