Как я могу анализировать числа 4648, 4649, 4650 из этой строки на три переменные int без использования regex.h?Строка parse, содержащая числа в целые числа
* SEARCH 4648 4649 4650
a3 OK SEARCH completed
Как я могу анализировать числа 4648, 4649, 4650 из этой строки на три переменные int без использования regex.h?Строка parse, содержащая числа в целые числа
* SEARCH 4648 4649 4650
a3 OK SEARCH completed
Попробуйте использовать std::istringstream
:
static const std:string test_string = "* SEARCH 4648 4649 4650";
char asterisk;
std::string label;
unsigned int value1, value2, value3;
std::istringstream input(test_string);
input >> asterisk >> label >> value1 >> value2;
Edit 1:
Для inputing более одного номера:
input >> asterisk >> label;
std::vector<unsigned int> numbers;
unsigned int value;
while (input >> value)
{
numbers.push_back(value);
}
Я не могу определить, сколько цифр будет. Строка может быть такой »* SEARCH 454 446 456 45645 46465« –
Если вы не знаете, сколько чисел, затем используйте 'std :: vector' и цикл while, например' while (input >> value) {number_vector.push_back (значение);} '. –
Можете ли вы добавить код коментарий? –
Не было ли это просто спросил? – NathanOliver
Возможный дубликат [Как разобрать строку на int в C++?] (Http://stackoverflow.com/questions/194465/how-to-parse-a-string-to-an-int-in-c) –