Есть строка формата "123,456,123,23,789,67". 6 чисел разделены запятыми.
Необходимо получить 2 последних числа в переменные типа int
Проблема решается легко при помощи sscanf()
#include
int main(int argc, char* argv[])
{
char buf[] = "123,456,123,23,789,67";
int a1, a2, a3, a4, a5, p1, p2;
sscanf(buf, "%d,%d,%d,%d,%d,%d", &a1, &a2, &a3, &a4, &p1, &p2);
return 0;
}
Вопрос: Как решить эту проблему при помощи iterator'ов и методов класса string?
Ответ
Для начала можно разбить строку на подстроки. Вариантов реализаций этого (фактически - метод split) - вагон и маленькая тележка. Приведу один, совсем примитивный, для примера:
#include
std::vector
Соответственно,
std::string s("123,456,123,23,789,67");
std::vector
Ну а что делать с получившимся вектором - уже творчески :)
Комментариев нет:
Отправить комментарий