У меня есть файл с миллионами строк, каждая строка имеет 3 поплавки, разделенные пробелами. Для чтения файла требуется много времени, поэтому я попытался прочитать их, используя файлы с отображением памяти, только чтобы узнать, что проблема связана не со скоростью ввода-вывода, а со скоростью разбора.
Мой текущий синтаксический анализ - взять поток (называемый файлом) и сделать следующее
float x,y,z;
file >> x >> y >> z;
Кто-то из рекомендовал использовать Boost.Spirit, но я не смог найти простой учебник, чтобы объяснить, как его использовать.
Я пытаюсь найти простой и эффективный способ разбора строки, которая выглядит так:
"134.32 3545.87 3425"
Я буду очень благодарен за помощь. Я хотел использовать strtok, чтобы разделить его, но я не знаю, как преобразовать строки в float, и я не совсем уверен, что это лучший способ.
Я не против, если решение будет Boost или нет. Я не возражаю, если это не будет самым эффективным решением, но я уверен, что можно удвоить скорость.
Спасибо заранее.