Как быстро достать из строки несколько чисел на С++?
Имеется вот такая строка: v -0.500000 -0.500000 0.500000
На обычном Си делаю так sscanf(line, "%s %lf %lf %lf", str, &x, &y, &z);
Есть ли какой-то аналог этого на плюсах? И чтобы не потерялась скорость при доставании чисел.
Так же есть другая строка: f 1/2/3 2/3/4 3/6 4/6
Из неё нужно вытащить 4 числа (самое первое перед слешем). Причем, может быть нужно будет достать больше чем 4, например, 1/2 2/3 4/5 6/7 8/9, тут надо достать 5 (1, 2, 4, 6, 8). На обычном Си сделал это через strtok и sscanf (разделаю по пробелам и sscanf'ом он автоматически вычленяет первое число до слеша).
Таких строк может быть несколько десятков тысяч.
Как такое провернуть на плюсах без потери производительности?
Источник: Stack Overflow на русском