Парсинг значений с SD карты
- Войдите на сайт для отправки комментариев
Ох сколько же раз эту тему обсасали на данном форуме, но к сожалению ответов четких и конечных, нигде нету. Проблема заключается в следующем: Храню на SD карте значение массивов RAW от ИК ДУ. С записью проблем никаких не имею, в temp.txt храниться следующие:
99, 3200, 1950, 400, 1150, 400, 1150, 400, 450, 400, 500, 400, 450, 400, 450, 400, 1150, 450, 450, 400, 1200, 400, 1150, 400, 450, 400, 500, 400, 1150, 400, 450, 450, 1100, 450, 500, 400, 1150, 400, 450, 400, 450, 400, 500, 400, 450, 400, 450, 400, 450, 400, 500, 400, 450, 400, 450, 400, 1150, 400, 500, 400, 450, 400, 450, 400, 450, 400, 500, 400, 450, 400, 450, 400, 450, 400, 500, 400, 450, 400, 1150, 400, 450, 400, 500, 400, 450, 400, 1200, 350, 1200, 400, 500, 400, 450, 400, 450, 400, 450, 400, 400, 350, 8888
Теперь стоит следующая задача: распарсить таким образом, чтобы каждое значение было записано в определенное значение массива
array IR_MASS[] ->IR_MASS[0]=99; ->IR_MASS[1]=3200; итд...
к сожалению, даже с этим я справиться не смог, по причине мало демок + недоконца везде инфа.
Если данный вопрос решиться - задам смежный, как можно реализовать, чтобы помимо парсинга элементов работал парсинг строк, чтобы при окончании строки шла запись в новый массив?
PS нашел вот такой лайфхак - https://github.com/s-light/test__SDCard_ParseFile но там очень много кода + почему то выводиться только первых 6 элементов массива?
По той ссылке вас интересует только строки 458 - 668 и то там большая часть для вас не нужна будет. Открыли файл, читаем по строкам и сразу парсим по запятой.
Идея хранить числовые коды от IR в виде строк в текстовом файле - дурная чуть более, чем полностью. Что мешает хранить это в бинарном виде?
Примерно так, навскидку. И не надо дрюкаться с парсингом строк - зачем оно в текущей задаче-то - занять МК нечем?
Приведённый код - только пример, там в файл сначала пишется кол-во элементов массива, потом - элементы массива, по 2 байта на элемент. Можно переписать без заголовка, будет чуть больше кода при чтении. Анализа ошибок чтения - нет, тупо лень.