Форум программистов, компьютерный форум CyberForum.ru

Преобразование строки в число - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 32, средняя оценка - 4.84
Fantom.AS
 Аватар для Fantom.AS
2 / 1 / 0
Регистрация: 17.11.2010
Сообщений: 121
02.03.2012, 12:57     Преобразование строки в число #1
А как многоразрядные числа из строки преобразовать?
Если я использую string?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
02.03.2012, 17:41     Преобразование строки в число #2
Fantom.AS, а зачем Вы используете строку для числа?
Fantom.AS
 Аватар для Fantom.AS
2 / 1 / 0
Регистрация: 17.11.2010
Сообщений: 121
02.03.2012, 17:42  [ТС]     Преобразование строки в число #3
Цитата Сообщение от fasked Посмотреть сообщение
Fantom.AS, а зачем Вы используете строку для числа?
У меня данные в виде одной строки подаются, по заданию
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
02.03.2012, 17:45     Преобразование строки в число #4
Цитата Сообщение от Fantom.AS Посмотреть сообщение
У меня данные в виде одной строки подаются, по заданию
Значит надо парсить строку. Например, с помощью stringstream.
Fantom.AS
 Аватар для Fantom.AS
2 / 1 / 0
Регистрация: 17.11.2010
Сообщений: 121
02.03.2012, 17:46  [ТС]     Преобразование строки в число #5
Цитата Сообщение от fasked Посмотреть сообщение
Значит надо парсить строку. Например, с помощью stringstream.
знать бы мне еще, что такое "парсить ". и stringstream
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
02.03.2012, 18:02     Преобразование строки в число #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <vector>
#include <sstream>
#include <iostream>
#include <iterator>
#include <algorithm>
 
int main()
{
   std::stringstream ss;
   ss << "1234 67 124 67 234";
 
   std::vector<int> out_data;   
   for (int i = 0; ss >> i; )
   {
      out_data.push_back(i);
   }
   
   std::copy(out_data.begin(), out_data.end(), std::ostream_iterator<int>(std::cout, " "));
}
BRcr
 Аватар для BRcr
4003 / 2292 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
02.03.2012, 18:23     Преобразование строки в число #7
fasked, а как для stringstream выставить разделитель? Нашел у него только format flags, унаследованные от ios_base, но разделителя среди них как-то не обнаружилось...
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
02.03.2012, 23:23     Преобразование строки в число #8
BRcr, для одного числа можно и так
C++
1
2
3
4
5
6
7
#include <iostream>
 
int main()
{
   int i = std::stoi("123,23");
   std::cout << i << std::endl;
}
BRcr
 Аватар для BRcr
4003 / 2292 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
02.03.2012, 23:29     Преобразование строки в число #9
go, да нет, мне просто в принципе любопытны возможности именно stringstream.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.03.2012, 02:02     Преобразование строки в число
Еще ссылки по теме:

C++ Преобразование строки в число
Преобразование строки в число C++
C++ Преобразование строки в число

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
03.03.2012, 02:02     Преобразование строки в число #10
BRcr, вот так
Yandex
Объявления
03.03.2012, 02:02     Преобразование строки в число
Ответ Создать тему
Опции темы

Текущее время: 15:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru