Из потока и целого числа N
, я должен получить целое число, представленное символами первой цифры N
.Как читать из потока первые N цифр как целое число?
Вот некоторые примеры:
/*------------------------------------------------*/
/* N | Stream content | Expected value */
/*-----|-------------------------|----------------*/
/* 2 | 123a52test | 12 (int) */
/* 2 | 123552a52test | 12 (int) */
/* 2 | 12test | 12 (int) */
/* 2 | 12 | 12 (int) */
/* 4 | 123552a52test | 1235 (int) */
/* 4 | 122a52test | -error- */
Есть ли прямое решение сделать такую вещь, или я должен сделать следующее?
- Построить строку из N символов
- Создать stringstream и использовать его для извлечения целого числа
Я не понимаю, почему вам нужно преобразовать из строки в 'int' вообще, если вам просто нужно отобразить значение. Просто убедитесь, что N первых цифр строки образуют действительный 'int' (single + или - в начале и только цифры). – NathanOliver
Что такое * stream *? Это 'istream &'? – krzaq
@NathanOliver Я не хочу отображать значение, мне нужно получить его как целое для дальнейшей обработки. – Silverspur