0
Мне нужно разобрать строку и преобразовать первую строку цифр в целое число.извлечение int из строки с использованием isdigit
Вот функция:
int get_int (string to) {
string temp = "";
for (int i = 0 ; i < to.length(); i++) {
if (isdigit((unsigned char)to[i])) {
cerr << to[i];
temp = temp+to[i];
}
i++;
}
return stoi(temp);
}
и я передаю его: "тест: 19764 \ п". Тем не менее, я получаю вывод 174 (как в печатном, так и в возвращаемом значении). Что происходит?
Спасибо, Cameron
Обратите внимание на i ++ в конце цикла – Danh
Ах! Я смотрел на это более часа. Спасибо. –
Включите больше предупреждений компилятора, и он будет предупреждать вас об ошибках, подобных этому. http://melpon.org/wandbox/permlink/HehPwixnJCTxlcgR –