Я нахожу, что захват вывода grep иногда очень полезен:
grep -rn "foo=" . | grep -v "Binary file"
, Хотя, который на самом деле не мешает ему искать двоичные файлы.
Да, есть: используйте поток, например stringstream
:
stringstream sstr("12 34 46");
int i;
while (sstr >> i)
list.push_back(i);
В качестве альтернативы, вы также можете использовать алгоритмы STL и / или адаптеры итератора в сочетании с конструкторами:
vector<int> list = vector<int>(istream_iterator<int>(sstr), istream_iterator<int>());
Вы ищете 2 отдельных действия. Сначала токенизируйте строку, затем преобразуйте каждый токен в int.
Я не уверен, что вы можете сделать это без использования строки или символа *, потому что вам нужно объединить числа и пробелы в один и тот же набор ...