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

как сравнить даты?? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.60
subzero
16 / 14 / 1
Регистрация: 21.03.2010
Сообщений: 51
05.04.2010, 01:31     как сравнить даты?? #1
допустим у меня есть две даты.как определить какая из них больше??
например
C++
1
2
3
4
5
char data[10];
char Data[10];
strcpy(data,"10.10.2010");
strcpy(Data,"20.10.2009");
//как их сравнить???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2010, 01:31     как сравнить даты??
Посмотрите здесь:

C++ Как сравнить 4 числа
Как сравнить указатель? C++
C++ Как сравнить строки?
C++ Как сравнить символы
C++ Как сравнить 2 массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
UKOL
 Аватар для UKOL
112 / 64 / 7
Регистрация: 17.11.2009
Сообщений: 258
05.04.2010, 07:47     как сравнить даты?? #2
Можно так, сравниваешь сначала года, т.е. data%1000 если больше Data%1000 первая дата больше
иначе если вторая больше или сравниваешь потом месяцы там убираешь примерно так data%1000000/1000 и так же дни. Думаю что стоит попробовать.
odip
Эксперт C++
 Аватар для odip
7224 / 3286 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
05.04.2010, 09:41     как сравнить даты?? #3
C
1
2
3
4
char data[10];
char Data[10];
strcpy(data,"10.10.2010");
strcpy(Data,"20.10.2009");
В буфере 10 символов, а копируется 11 - будет переполнение буфера.
subzero
16 / 14 / 1
Регистрация: 21.03.2010
Сообщений: 51
05.04.2010, 20:48  [ТС]     как сравнить даты?? #4
копируется тож 10
odip
Эксперт C++
 Аватар для odip
7224 / 3286 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
06.04.2010, 10:18     как сравнить даты?? #5
Копируется 11 символов - ты забываешь про '\0' в конце.

Добавлено через 2 минуты
Что касается определить какая дата больше.
Переводишь дату в число и сравниваешь.
Например "10.10.2010" -> 20101010

Или можешь использовать стандартные функции.
Там дата+время переводятся в переменную типа time_t - это число секунд с начала эпохи.
Где секунд больше - там дата позже.
Yandex
Объявления
06.04.2010, 10:18     как сравнить даты??
Ответ Создать тему
Опции темы

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