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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
PakistanCode
2 / 2 / 0
Регистрация: 05.02.2013
Сообщений: 177
#1

std::string - C++

13.03.2013, 23:59. Просмотров 319. Ответов 3
Метки нет (Все метки)

Здравствуйте! У меня есть std::vector<std::string>
Подскажите пожалуйста как быстро и красиво можно перевести i-тый элемент вектора в число int.
Если я 100% знаю что там находятся числа.

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

output - вектор
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2013, 23:59     std::string
Посмотрите здесь:

std::string - C++
Господа, подскажите где можно поглядеть методы string-a литературы никакой под рукой нет, а гуглить в лоб что-то результаттов не дает. ...

std:string - C++
1. Поддерживает ли этот класс сравнение целиком строк? Каков синтаксис сравнения строк? 2. Поддерживает ли этот класс конкатенацию? Каков...

Std::string - C++
никак не пойму чем отличаются методы append и assign у std::string?

std::string, потоки - C++
Доброго времени суток! Использую такую конструкцию: while(...) { while(getline(dic, buf2)) { if (buf2 &lt;...

int to std::string - C++
Не подскажите как перевести int в std::string

char* vs std::string - C++
При чтении чужих сорцов, обратил внимание, что в роли аргументов для функций/методов, как правило используются указатели на массивы чаров,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xtorne21st
интересующийся
303 / 274 / 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
Сообщений: 177
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()))
решилось такой записью, извините за спам
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.03.2013, 00:44     std::string
Еще ссылки по теме:

std::string Трим - C++
Как сделать трим (вырезание из начала\конца строки лишних символов таких как пробелы, табуляции...) в std::string? Я недавно нашёл у себя в...

std::string to SCtring - C++
После выполнения этого кода выводится не &quot;123&quot; а какие-то каракули как это исправить? string s = &quot;123&quot;; ...

Std::string compare - C++
#include &lt;cstring&gt; #include &lt;iostream&gt; int main() { std::string a = &quot;aa&quot;; std::string b = &quot;ab&quot;; std::cout &lt;&lt;...

std::string в char* - C++
Можно ли привести std::string к указателю на нуль-терминальную строку? Как?

Аналог std::string - C++
Имеется некоторый класс, обеспечивающий работу с символами UTF-8. Назовём его uchar. Можно ли простым способом организовать класс ustring,...

PTCHAR в std::string - C++
Никак не могу парсить переменную Line. Пишет - выражение должно иметь тип класса PTCHAR line = wcstok_s(buffer, TEXT(&quot;\r\n&quot;), &amp;context);...


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

Или воспользуйтесь поиском по форуму:
xtorne21st
интересующийся
303 / 274 / 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
Ответ Создать тему
Опции темы

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