Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Mazilo
36 / 36 / 72
Регистрация: 31.10.2014
Сообщений: 206
#1

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

15.05.2016, 16:02. Просмотров 172. Ответов 4
Метки нет (Все метки)

Есть строка с цифрами разделенная точкой с запятой: 1, 2, 3
C++
1
string s = "1, 2, 3";
Как мне из этой строки достать по очереди все цифры и преобразовать их в int?
C++
1
int i = stoi(s[0]);
При использовании данной штуки возникает ошибка "error C3861: stoi: идентификатор не найден".
Использую стандартную VS2008.
http://www.cyberforum.ru/cpp-beginners/thread1406667.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2016, 16:02
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Преобразование строки в число (C++):

Преобразование строки в число
Здравствуйте. Преобразовываю строку в число с помощью функции atoi(), но...

Преобразование строки в число
Имеется переменная строкового типа string. У нее такой формат: 1561 1 6.87208...

Преобразование строки в число?
Написал функцию, которая введенную преобразует в число. Но при выводе пишет,...

Преобразование из строки в число
только начала программировать на С. то есть, буквально только что открыла 10й...

Преобразование строки в число
Вот код из учебника #include<iostream> using std::cout;using std::endl; int...

4
nmcf
6237 / 5549 / 2524
Регистрация: 14.04.2014
Сообщений: 23,337
15.05.2016, 16:04 #2
C++
1
2
3
4
5
6
7
8
9
string s = "1, 2, 3";
 
istringstream iss(s);
 
int a, b, c;
 
(iss >> a).get();
(iss >> b).get();
iss >> c;
0
Mazilo
36 / 36 / 72
Регистрация: 31.10.2014
Сообщений: 206
15.05.2016, 16:31  [ТС] #3
nmcf, выводит 44 44 -1 вместо 1 2 3.
C++
1
2
3
4
5
6
string s1 = "1, 2, 3";
istringstream iss(s1);
int a, b, c;
cout<<(iss >> a).get()<<'\n';
cout<<(iss >> b).get()<<'\n';
cout<<(iss >> c).get()<<'\n';
0
User2000
-1 / 0 / 1
Регистрация: 10.03.2015
Сообщений: 33
15.05.2016, 16:39 #4
string s= "1,2,3,4";
int a=(int)s[0]-48;
int b=(int)s[6]-48;
cout<<a<<" "<<b;
// 1 и 4 выводит в s[i] i- там где цифра нумерация с 0 как если строка большая то можно через сase проверять и доставать только цифры в динамический массив
0
nmcf
6237 / 5549 / 2524
Регистрация: 14.04.2014
Сообщений: 23,337
15.05.2016, 17:06 #5
Цитата Сообщение от Mazilo Посмотреть сообщение
выводит 44 44 -1 вместо 1 2 3.
Зачем ты их в cout вставил? Они должны отдельно стоять, а уже после cout с a, b, c.
0
15.05.2016, 17:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.05.2016, 17:06
Привет! Вот еще темы с решениями:

Преобразование строки в число
какой аналог есть в c++ на strtoint inttostr?

Преобразование строки в число
А как многоразрядные числа из строки преобразовать? Если я использую string?

Преобразование строки в число
задача : реализовать деление двух целых чисел, передаваемых функции в виде...

Преобразование char16_t строки в число
Ну очень тупой вопрос - как стандартными средствами C++ преобразовать char16_t...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru