| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Преобразование типов данных |
| Автор: UnixBeginner 16.1.2006, 14:45 |
| Необходимо преобразовать численный тип в строку. Использовать только стандартные средства. Есть предположение что нужно использовать потоковые итераторы, т.е. сначала туда ввести число, а потом из него вывести это число и присвоить его строке. Задумка есть, а конкретно как это реализовать, не знаю. Помогите. |
| Автор: Mayk 16.1.2006, 14:53 |
| 1) int a = atoi ("123") 2) int a; std::istringstream str("123"); str >> a; |
| Автор: UnixBeginner 16.1.2006, 15:10 | ||||
| Все, уже сделал сам. Может кому понадобится:
Если у кого есть другие идеи и возможно лучше, то давайте.... Добавлено @ 15:21
а это наоборот, перевод строки в число. |
| Автор: LuckLess 16.1.2006, 15:35 | ||
| я бы обощил твой код UnixBeginner
|
| Автор: UnixBeginner 16.1.2006, 15:48 | ||
Да, наврное так быдет лучше. |
| Автор: comcon1 16.1.2006, 17:14 | ||
| Этот код уже обобщили и переобобщили до Вас. Причем примерно таким же путем. Использование:
Причем если для типа, который у меня double определен оператор ostream & << (ostream &, const type &), то этот тип также может преобразовываться при помощи этой команды. А реализация этого шаблона идейно такое же, тока более универсальная. Он в контрукторе пишет в istringstream и читает оттуда строку. |
| Автор: blackofe 17.1.2006, 20:29 | ||
к сожалению itoa() не входит в стандарт ANSI C (наверное, как следствие, в stl). но ведь есть еще sprintf():
|
| Автор: np9mi7 17.1.2006, 22:31 |
| UnixBeginner, используй строковые потоки, но вот задумка с new вообще лишняя; |
| Автор: chipset 17.1.2006, 23:39 |
| Можно поподробнее? |
| Автор: Daevaorn 18.1.2006, 00:44 |
| Наверно имеется ввиду std::stringstream и прочие |
| Автор: LuckLess 18.1.2006, 01:33 |
| comcon1 boost - не стандарт. вопрос про стандартные средства. |
| Автор: UnixBeginner 18.1.2006, 09:27 | ||
| Как раз std::ostingstream и имеется ввиду. Посмотрите примеры выше, например 3-й по счету:
Вот вам и использование строковых потоков. Все работает, проверено. |