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

из string в time_t - C++

Восстановить пароль Регистрация
 
Roma4717
 Аватар для Roma4717
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 22
05.05.2013, 20:17     из string в time_t #1
Подскажите пожалуйста можно ли преобразовать string в time_t?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
FreeMan108
 Аватар для FreeMan108
120 / 120 / 6
Регистрация: 04.03.2013
Сообщений: 368
05.05.2013, 21:12     из string в time_t #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Да, конечно можно.

Вот небольшой пример.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <ctime>
 
using namespace std;
 
int main()
{
    time_t t;
    string s1 = "122321";
    t = (time_t)atoi(s1.c_str());
    
    cout << t << endl;
    
    system("pause");
      return 0;
      }
Roma4717
 Аватар для Roma4717
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 22
05.05.2013, 23:14  [ТС]     из string в time_t #3
FreeMan108, спасибо большое !! А если строка вводится в таком виде : 30.11.2012 20:00:00 ?! как реализовать преобразование в тип time_t или надо выдергивать из нее день, месяц, год, час, и т.д. и потом по отдельности заносить в структуру tm ?!
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
05.05.2013, 23:24     из string в time_t #4
Roma4717,
да, а что сложно выдернуть в tm?, тут все разделители стоят, нули тоже проставлены, не так и много кода, а далее воспользоваться mktime
FreeMan108
 Аватар для FreeMan108
120 / 120 / 6
Регистрация: 04.03.2013
Сообщений: 368
06.05.2013, 12:44     из string в time_t #5
Да, но если вы вводите дату с клавиатуры, то можно сразу отделить год, месяц, день...

30.11.2012 20:00:00

C++
1
scanf ("%i%c%i%c%i%c%i%c%i%c%i",&day,&point,&month,&point,&year,&point,&hour,&point,&minutes,&point,&seconds);
Со строкой можно сделать подобной функцией sscanf.

А дальше нехитрыми преобразованиями в time_t.
Yandex
Объявления
06.05.2013, 12:44     из string в time_t
Ответ Создать тему
Опции темы

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