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

std::string - C++

Восстановить пароль Регистрация
 
PakistanCode
2 / 2 / 0
Регистрация: 05.02.2013
Сообщений: 175
13.03.2013, 23:59     std::string #1
Здравствуйте! У меня есть std::vector<std::string>
Подскажите пожалуйста как быстро и красиво можно перевести i-тый элемент вектора в число int.
Если я 100% знаю что там находятся числа.

Добавлено через 2 минуты
C++
1
isdigit(atoi(output[i].c_str()))
Такой вариант является корректным?

output - вектор
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
14.03.2013, 00:02     std::string #2
C++
1
2
#include <cstdlib>
int i = atoi(vect[i].c_str());
Добавлено через 2 минуты
Цитата Сообщение от PakistanCode Посмотреть сообщение
isdigit(atoi(output[i].c_str()))
isdigit лишнее.
PakistanCode
2 / 2 / 0
Регистрация: 05.02.2013
Сообщений: 175
14.03.2013, 00:33  [ТС]     std::string #3
только почему-то не работает

Добавлено через 2 минуты
мне нужно проверить является ли итая запись вектора - числом
если да - сделать запись строки хранящейся в векторе приведенной к int

C++
1
2
3
4
    if(isdigit(atoi(output[i].c_str())))
            {   
                val_stack.push(atoi(output[i].c_str()));
            }
Запись
C++
1
atoi(output[i].c_str())
- копировал в отдельную строчку - получал нормальные числа, но почему-то эти числа не проходят проверку isdigit

Добавлено через 4 минуты
C++
1
if(isdigit(*output[i].c_str()))
решилось такой записью, извините за спам
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
14.03.2013, 00:44     std::string #4
Цитата Сообщение от PakistanCode Посмотреть сообщение
if(isdigit(*output[i].c_str()))
в состав функции atoi уже входит проверка на isdigit(). isdigit() это основная конструкция atoi(), без проверки каждого члена на число atoi функция просто б не сработала. Так что дополнительная проверка на isdigit() (к тому же вы проверяете лишь первый элемент строки) просто излишне.
Yandex
Объявления
14.03.2013, 00:44     std::string
Ответ Создать тему
Опции темы

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