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

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

Восстановить пароль Регистрация
 
Dream_O
0 / 0 / 0
Регистрация: 07.05.2013
Сообщений: 35
05.05.2014, 19:28     Преобразование части строки типа char в число #1
Доброго времени суток! Подскажите, как преобразовать строку типа char в число?
Пример: Есть строка с датой в формате чч-мм-гг "05-05-14". Как получить последние 2 цифры? (год)
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
newbie666
Заблокирован
05.05.2014, 20:55     Преобразование части строки типа char в число #2
какой вопрос - такой ответ
C++
1
2
3
4
5
6
7
8
9
char str[8] = {'0','5','-','0','5','-','1','4'};
    
char lastButOne = str[6];
char last = str[7];
 
int year1 = atoi(&lastButOne);
int year2 = atoi(&last);
 
int comleteYear = atoi(&str[6]);
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.05.2014, 00:01     Преобразование части строки типа char в число #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
 
    char str[] = "05-05-14";
    int year;
    
    sscanf(str + (strlen(str) - 2), "%d", &year);
    
    cout << year << endl;
Добавлено через 12 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
 
    char str[] = "05-05-2014";
    int year;
    
    char* p = strtok(str, "-");
    for (int i = 0; i < 2; ++i)
    {
        p = strtok(NULL, "-");
    }
    
    sscanf(p, "%d", &year);
    
    cout << year << endl;
Добавлено через 10 минут
C++
1
2
3
4
5
6
7
8
9
10
11
    string str = "05-05-2014";
    int year;
 
    int i = 0;
    if ((i = str.find_last_of('-')) != -1)
    {
        ++i;
        stringstream s(str.substr(i, 4));
        s >> year;
        cout << year << endl;
    }
Dream_O
0 / 0 / 0
Регистрация: 07.05.2013
Сообщений: 35
06.05.2014, 17:44  [ТС]     Преобразование части строки типа char в число #4
alsav22, большое спасибо!
Yandex
Объявления
06.05.2014, 17:44     Преобразование части строки типа char в число
Ответ Создать тему
Опции темы

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