| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Подскажите пожалуйста (по работе со строкой) |
| Автор: illspirit 23.9.2008, 19:29 |
| Нужно, скажем из такой строки: 123 dsfj 10a 5 a 6 Выделить числа (желательно их в массив запихать), т.е. в данном случае должнен получиться массив с элементами 123, 5 и 6. Пожалуйста подскажите как это сделать. |
| Автор: bsa 23.9.2008, 19:53 |
| читай про стандартные функции strtok (или strsep) и strspn |
| Автор: illspirit 23.9.2008, 21:58 | ||
Со strtok'ом понятно, имел дело. А как через strspn определение числа сделать - несколько не понятно. В множество символов, с которым сравниваю, всё кроме чисел пихать или наоборот числа - и как с результатом связать? |
| Автор: susanin 24.9.2008, 02:01 |
| посматриваешь строку, если встрчается первое число isdigit то начинаешь цикл начиная с этого элемента и пока очередной элемент !isdigit (не число) в tmp строку записываешь конкатенацией полученные цифры, а потом функцией перевода строки в число переводишь tmp строку в число и запихиваешь в массив.. и так далее до конца строки |
| Автор: illspirit 24.9.2008, 22:24 | ||||
| Dov, большое спасибо. Единственное с чем проблема - с return 0 - он должен с main'ом работать, а хотелось бы без main'а это сделать (BCB) - можно его чем нибудь заменить? Вот кстати код:
Не нужна. |
| Автор: Dov 26.9.2008, 10:41 |
| illspirit, я с ВСВ, к сожалению, тебе помочь не смогу. |