Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Dream_O
0 / 0 / 0
Регистрация: 07.05.2013
Сообщений: 38
1

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

05.05.2014, 19:28. Просмотров 1035. Ответов 3
Метки нет (Все метки)

Доброго времени суток! Подскажите, как преобразовать строку типа char в число?
Пример: Есть строка с датой в формате чч-мм-гг "05-05-14". Как получить последние 2 цифры? (год)
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2014, 19:28
Ответы с готовыми решениями:

Преобразование char в char* или разделить на две строки
Пытаюсь сделать программу под linux. Возникла проблема, описанная в заголовке. Мне нужно разделить...

Строки: почему компилятор пишет , что переменная типа char несовместима с const char?
char pass; int password( int d) { int m; char p; cout << "Введите пароль для доступа к...

Преобразование типа char в тип float
При считывании из файла чисел (каждое число расположено на новой строке, целая часть от дробной...

Не выходит преобразование матрицы типа int в char и вывод строк массива
Если указываю массив например 5 на 5, то то всё отлично преобразует, но в последнем цикле нужно...

Условие типа if( масив типа char[x] [y] != переменная типа char) не срабатывает
Создал функцию ChangeWay(). Все, кроме if(map !=ar) (обе переменные типа char) работает...

3
newbie666
Заблокирован
05.05.2014, 20:55 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]);
0
alsav22
5442 / 4837 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
06.05.2014, 00:01 3
Лучший ответ Сообщение было отмечено Dream_O как решение

Решение

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;
    }
1
Dream_O
0 / 0 / 0
Регистрация: 07.05.2013
Сообщений: 38
06.05.2014, 17:44  [ТС] 4
alsav22, большое спасибо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.05.2014, 17:44

Преобразование строки в char
Здравствуйте, не знаю, как можно преобразовать char в string. Но преобразование необычное. Нужно...

Как полю класса типа char* присвоить значение типа *char
Проблема в строчке 46 (не пинайте сильно за формат кода и за говнокод) #include &quot;stdafx.h&quot; ...

Занести число в переменную, типа char
char a; cin&gt;&gt;a; a=3; Тут при чтении с клавы мы считываем символ , т.е. если я введу 3, то а...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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