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

string в int - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 101, средняя оценка - 4.78
Ferk
 Аватар для Ferk
3 / 3 / 1
Регистрация: 28.07.2011
Сообщений: 105
15.08.2011, 14:56     string в int #1
народ подскажите пожалуйств как строку в число перевести?
например string в int
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.08.2011, 14:56     string в int
Посмотрите здесь:

string to int, int to string C++
C++ из int в string?
int to string C++
C++ int в string
C++ из int в string
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
15.08.2011, 14:57     string в int #2
atoi()
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
15.08.2011, 15:04     string в int #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include<iostream>
#include<string>
#include<sstream>
 
int main(){
    std::string str("123");
    std::istringstream ss(str);
    int a;
    ss>>a;
    std::cout<<"int a = "<<a<<std::endl;
    return 0;
}
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
15.08.2011, 15:04     string в int #4
C++
1
2
std::string str("123");
int num = boost::lexical_cast<int> (str);
Ferk
 Аватар для Ferk
3 / 3 / 1
Регистрация: 28.07.2011
Сообщений: 105
15.08.2011, 15:11  [ТС]     string в int #5
а можно на примере пожалуйста)

вставте пожалуйста сюда как ее использовать.. из s в a)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
using namespace std;
int main()
{
       string s("");
       cout << "vvedi 4islo" << endl;
       cin>>s;
       int a;
         
         
         
       
       cout << a<< endl;
       system("pause");
       return 0;
       }
Добавлено через 4 минуты
Цитата Сообщение от Kastaneda Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include<iostream>
#include<string>
#include<sstream>
 
int main(){
    std::string str("123");
    std::istringstream ss(str);
    int a;
    ss>>a;
    std::cout<<"int a = "<<a<<std::endl;
    return 0;
}
а как например str[1] перевести
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
15.08.2011, 15:13     string в int #6
Цитата Сообщение от Ferk Посмотреть сообщение
а как например str[1] перевести
C++
1
int q = str[1]-48;
У каждого символа есть свой код. С с++ используется кодировка ASCII. В этой таблице сиволу '0' соответственное значени 48, '1' - 49, '2' - 50 и т.д.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
15.08.2011, 15:41     string в int #7
Цитата Сообщение от Dani Посмотреть сообщение
C++
1
int q = str[1]-48;
Тогда так:
C++
1
    int q = str[1]-'0';
чтоб не зависить от кодировки.
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
15.08.2011, 15:45     string в int #8
Цитата Сообщение от Ferk Посмотреть сообщение
вставте пожалуйста сюда как ее использовать.. из s в a)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int main()
{
       string s("");
       cout << "vvedi 4islo" << endl;
       cin>>s;
       int a;
 
       a=atoi(s.c_str());
 
       cout << a<< endl;
       system("pause");
       return 0;
}
Ferk
 Аватар для Ferk
3 / 3 / 1
Регистрация: 28.07.2011
Сообщений: 105
15.08.2011, 16:21  [ТС]     string в int #9
кому не трудно напишите пожалйста коминтарии-обьяснение к той части кода где я поставил палочки для коментария)))
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
#include<string>
#include<sstream>
 using namespace std;
int main(){
        string str("123");
        istringstream ss(str);  ///
        int a;
        ss>>a;                  /// 
        cout<<"int a = "<<a<<endl;
        
        system("pause");
        return 0;
}
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
15.08.2011, 16:35     string в int #10
инициализируем строковый поток ss строкой str
из str читаем в переменную a
http://www.cppreference.com/wiki/ru/io/sstream/start
Ferk
 Аватар для Ferk
3 / 3 / 1
Регистрация: 28.07.2011
Сообщений: 105
15.08.2011, 16:55  [ТС]     string в int #11
спасибо всем большое)) очень помогла информация))

обьясните еще пожалуйста зачем в строке

C++
1
int q=s[2]-48;

зачем отнимать код символа?))

заранее спасибо))
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
15.08.2011, 17:29     string в int #12
Цитата Сообщение от Ferk Посмотреть сообщение
палочки для коментария)))
Палочки называются слэшами

Добавлено через 6 минут
Цитата Сообщение от Ferk Посмотреть сообщение
зачем отнимать код символа?))
Допустим есть строка
C++
1
string s="12345";
Нам нужно извлечь первый символ, с индексом ноль.
C++
1
s[1]=='1'
Так как это не число, а символ, то у него есть специальный код. Примеры
'0' = 48
'1' = 49
'2' = 50
'3' = 51
'4' = 52
...
'9' = 57.
Но если у нас есть код символа, нужно число то мы ищем закономерность: чтобы из кода '0' получить 0 тогда надо от кода '0' отнять 48 (код '0'). Для '1' тоже самое, для 2... Т.к. идет прибавление 1 в каждый последующий символ цифры, то надо вычитать 48.
P.S. Если непонятно - порисуйте немного на бумаге, выписав коды символов.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.08.2011, 17:35     string в int
Еще ссылки по теме:

C++ String в Int
Функция isspace и тип string: Не существует подходящей функции преобразования из "std::string" в "int" C++
Int to string C++

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

Или воспользуйтесь поиском по форуму:
Ferk
 Аватар для Ferk
3 / 3 / 1
Регистрация: 28.07.2011
Сообщений: 105
15.08.2011, 17:35  [ТС]     string в int #13
спасибо большое)) все понятно терь ))
Yandex
Объявления
15.08.2011, 17:35     string в int
Ответ Создать тему
Опции темы

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