Форматированный ввод в C++
Форматированный ввод читает значения по шаблону, как зеркало к printf, но из буфера символов, а не из клавиатуры.
Функция sscanf из <cstdio>
разбирает уже известную строку. В учебнике
не вызывают scanf на stdin -
только разбор литерала в переменные. Запишем
число из текста и выведем его:
#include <cstdio>
#include <iostream>
int value = 0;
std::sscanf("val=12", "val=%d", &value);
std::cout << value << "\n";
Спецификатор %s забирает слово без
пробелов. Разберем пару целого и короткого
текста из одной строки:
#include <cstdio>
#include <iostream>
int n = 0;
char tag[16] = {};
std::sscanf("3 red", "%d %15s", &n, tag);
std::cout << n << " " << tag << "\n";
Из строки "x=9" извлеките целое
шаблоном "x=%d" функцией
std::sscanf в переменную int k.
Выведите k.