Здравствуйте,
Нужно считать текстовый файл в 1 строку и потом "откусывать" от строки блоки (до символа "=", до символа "перехода строки \n") постепенно продвигаясь от 1 к последнему символу. Зачем? Так гораздо быстрее, чем ради каждого значения искать перебором по всему тексту.
Файл:
Строка должна быть соответственно вида:
"Откусывать" по шагу:
Мой кривой код. Как ни пишу, не работает. Замуты С++ с String/string()/char/char*/итп знаю плохо - может кто-то просто написать рабочий код, пожалуйста:
Нужно считать текстовый файл в 1 строку и потом "откусывать" от строки блоки (до символа "=", до символа "перехода строки \n") постепенно продвигаясь от 1 к последнему символу. Зачем? Так гораздо быстрее, чем ради каждого значения искать перебором по всему тексту.
Файл:
C++:
Setting1=100
Setting2=200
итд
C++:
Setting1=100\nSetting2=200\nитд
C++:
Удаляем первый кусман от 1 символа до включая символ "=" то есть [Setting1=];
Потом считываем и присваиваем значение от 1 символа до \n то есть [100], затем его тоже удаляем;
C++:
File configFile = SD.open("/tester.cfg", FILE_READ);
char configFile_data = configFile.read();
String configFile_data_str = String(configFile_data);
configFile_data_str.remove(0, length(configFile_data_str.readStringUntil("="))+1);
Setting1 = configFile_data_str.readStringUntil("\n");
configFile_data_str.remove(0, length(configFile_data_str.readStringUntil("\n"))+1);
Изменено: