SFML и C++ Уроки \ Разработка игр › Форумы › Логика игр › ввод переменных из файла › Ответ в теме: ввод переменных из файла
С регулярными совсем тяжело, пока в процессе освоения. В общем получилось так.
C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#include <iostream> #include <fstream> #include <unordered_map> #include <string> #include <regex> using namespace std; int main() { //открываем фаил ifstream ff("test.txt"); // проходимся по открытому файлу string txt{ istreambuf_iterator<char>(ff),istreambuf_iterator<char>() }; x.second x.first << " " << unordered_map<string, double>m; // регулярка для считывания текста в файле regex e("(\\w+)\\s*\\=\\s*(\\d+\\.?\\d*)"); // считанное разделяем на str(1) и str(2). в str(1) храним наименование переменной в str(2) значение for (auto it = sregex_iterator(txt.begin(), txt.end(), e); it != sregex_iterator(); ++it) { m.emplace(it->str(1), stod(it->str(2))); } // заполняем мар м for (const auto&x : m) { cout << x.second << endl; } system("pause"); return 0; } |
осталось добавить сравнение с переменными в файле и программами.