Я только что понял, что если у меня есть переменная в MAT-файле (большой массив), и я хочу обновить эту переменную, добавив новую строку (предположим, двумерный массив) с помощью API MATLAB C / C ++, тогда необходимо загрузить переменную в память, создайте копию с новой строкой и, наконец, перезапишите существующий массив новым.
Поскольку я работаю с большими / огромными массивами, я хотел бы знать, как обновить переменную, не загружая все это в память.
Спасибо.
Вы можете добавлять новые данные в файл только в конце, нет способа «вставить данные в середину файла» (или в начало). Вам нужно прочитать файл и записать новые данные. Если старые данные меньше, чем новые, это невозможно сделать «на месте», так как новые данные перезаписывают некоторые старые данные.
Предполагая, что вам не обязательно записывать его обратно в исходный файл, вы можете загрузить часть файла за раз и в начале обработки создать новый файл, в который вы будете записывать расширенные данные. После того как вы записали все данные, при желании вы можете переименовать новый файл в исходное имя входного файла.
Других решений пока нет …