Я пытаюсь написать функцию, которая проверяет, содержит ли строка число, положительное или отрицательное.Проверить строку для чисел
getline(cin,line);
istringstream sin(line);
while (sin >> ws >> in){
if(all_of(in.begin(), in.end(), ::isdigit){
//do something with number
}
Проблема в том, что isdigit() установит все отрицательные числа как не цифры. Какие еще способы проверить, содержит ли строка числа?
вход Пример: 1 2 -2 ASDF 4.
Почему вы не работаете непосредственно с 'line', а не обертываете поток строк вокруг него? –
Слышали ли вы о 'std :: stoi', случайно? – Rook