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

Преобразование строки в массив цифр - C++

Восстановить пароль Регистрация
 
MahovIV
5 / 6 / 1
Регистрация: 17.09.2013
Сообщений: 337
30.01.2014, 22:55     Преобразование строки в массив цифр #1
Помогите разобраться с функцией для преобразования строки в массив цифр.
C++
1
2
3
4
5
6
7
8
void readlong (type &vec)
{
    std::string str;
    std::cin >> str;
 
    for (int i = str.size (); i > 0; i--)
        vec.push_back (atoi (str.substr (i - LEN, LEN).c_str()));
}
Объясните, как работает
C++
1
2
3
for (int i = str.size (); i > 0; i--)
        vec.push_back (atoi (str.substr (i - LEN, LEN).c_str()));
}
Функции в цикле по отдельности мне понятны, а вот их работа вместе не понятна.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vovacreme
-16 / 61 / 13
Регистрация: 14.01.2014
Сообщений: 145
30.01.2014, 23:21     Преобразование строки в массив цифр #2
Цитата Сообщение от MahovIV Посмотреть сообщение
Объясните, как работает
C++
1
2
3
for (int i = str.size (); i > 0; i--)
        vec.push_back (atoi (str.substr (i - LEN, LEN).c_str()));
}
Функции в цикле по отдельности мне понятны, а вот их работа вместе не понятна.
Сначала str.substr (i - LEN, LEN) возвращает подстроку типа string из строки str, начиная с позиции i - LEN, длиной в LEN символов. Далее эта строка преобразовывается в строку в стиле С с помощью функции c_str(), после чего строка в стиле С передается функции atoi, которая преобразовывает ее в тип int. И на последнем этапе, с помощью метода push_back, int - значение добавляется в конец вектора vec.
Fene4ka_
84 / 84 / 16
Регистрация: 24.01.2014
Сообщений: 1,142
30.01.2014, 23:36     Преобразование строки в массив цифр #3
а нельзя ли просто
вектор.push_back(int(строка))
vovacreme
-16 / 61 / 13
Регистрация: 14.01.2014
Сообщений: 145
30.01.2014, 23:40     Преобразование строки в массив цифр #4
Цитата Сообщение от Fene4ka_ Посмотреть сообщение
а нельзя ли просто
вектор.push_back(int(строка))
Нет, конечно.
Yandex
Объявления
30.01.2014, 23:40     Преобразование строки в массив цифр
Ответ Создать тему
Опции темы

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