powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Подсобите с поинтерами
14 сообщений из 14, страница 1 из 1
Подсобите с поинтерами
    #33739123
Arion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то не как не въеду что за беда с этими указателями:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
time_t tm_now,pon;
tm *tm_mnnow,*mnpon;
mnpon=new tm;
tm_mnnow=new tm;

time(&tm_now);
tm_mnnow=localtime(&tm_now);

pon=tm_now- 86400 *(tm_mnnow->tm_wday- 1 );

mnpon=localtime(&pon);
//вот на этом моменте содержимое по указателю tm_mnnow становится равно mnpon, в чем дело? как этого избежать???
...
Рейтинг: 0 / 0
Подсобите с поинтерами
    #33739187
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Функция localtime возвращает указатель на свою структуру, одну единственную. Когда ты вызваешь ее, она переписывает значения структуры по новой. Так как структура одна, то указатели ссылаются на одно место, поэтому и значиния при их разыменовании одинаковые.
...
Рейтинг: 0 / 0
Подсобите с поинтерами
    #33739230
Arion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ах-ха... дык... это как-то не очень красиво получается - нужно создавать отдельную структуру и в нее сохранять...
...
Рейтинг: 0 / 0
Подсобите с поинтерами
    #33739308
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArionАх-ха... дык... это как-то не очень красиво получается - нужно создавать отдельную структуру и в нее сохранять...

А ты вообще, что хочешь сделать? Странный код у тебя какой-то.
...
Рейтинг: 0 / 0
Подсобите с поинтерами
    #33739343
Arion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообще это определение понедельника текущей недели. Пока только понедельника :)
Кстати, почему-то строчки вида
pon=tm_now-86400*(tm_mnnow.tm_wday-1)-fmod(tm_now,86400)
не хватило, пришлось убавить еще 4 часа
получилось
pon=tm_now-86400*(tm_mnnow.tm_wday-1)-fmod(tm_now,86400)-3600*4;
Че-то не совсем понял куда делись 4 часа... Ну да и ладно, подгонка рулит :)
...
Рейтинг: 0 / 0
Подсобите с поинтерами
    #33739378
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так повычитай tm_day*86400, tm_hour*3600, .... из полученной секунды сего времени и будет тебе 00:00 понедельника
...
Рейтинг: 0 / 0
Подсобите с поинтерами
    #33739380
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arion
pon=tm_now-86400*(tm_mnnow.tm_wday-1)-fmod(tm_now,86400) -3600*4 ;
Че-то не совсем понял куда делись 4 часа... Ну да и ладно, подгонка рулит :)
...
Рейтинг: 0 / 0
Подсобите с поинтерами
    #33739387
Arion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тоже вариант, только все-таки почему тем вариантом получается 04:00?
...
Рейтинг: 0 / 0
Подсобите с поинтерами
    #33739389
Arion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akh

?
:)
...
Рейтинг: 0 / 0
Подсобите с поинтерами
    #33739432
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Функция localtime дополнительно производит корекцию времени по твоей временной зоне, которая у тебя установленна в виндах. Ты это учел?
...
Рейтинг: 0 / 0
Подсобите с поинтерами
    #33739480
Arion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkhФункция localtime дополнительно производит корекцию времени по твоей временной зоне, которая у тебя установленна в виндах. Ты это учел?
Да -3600*4 :)
Вот только у меня в виндах стоит +3:00, откуда 4?
...
Рейтинг: 0 / 0
Подсобите с поинтерами
    #33739516
Arion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати, а как узнать установленый часовой пояс?
...
Рейтинг: 0 / 0
Подсобите с поинтерами
    #33739531
Dmitrii K.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArionКстати, а как узнать установленый часовой пояс?
_timezone - Глобальная переменная из time.h
...
Рейтинг: 0 / 0
Подсобите с поинтерами
    #33739567
Arion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dmitrii K. _timezone - Глобальная переменная из time.h
Спасибо!
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Подсобите с поинтерами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]