![]() |
|
Модераторы: bsa |
![]()
|
|
| kb64 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 2.2.2008 Репутация: нет Всего: нет |
Помогите реализовать, спасибо.
|
|||
|
||||
| zim22 |
|
|||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
Sleep
|
|||
|
||||
| kb64 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 2.2.2008 Репутация: нет Всего: нет |
дык слип вроде остановит цикл ?
А мне нужно чтобы скажем while(таймер < 5 секунд){ keybd_event('A', NULL, NULL, NULL); } Это сообщение отредактировал(а) bsa - 12.9.2009, 20:53 |
|||
|
||||
| Annihilator |
|
||||
![]() bytegrinder ![]() ![]() Профиль Группа: Участник Сообщений: 493 Регистрация: 21.11.2006 Где: Омск Репутация: 1 Всего: 3 |
ну что-нить типа
надо подключить
Это сообщение отредактировал(а) Annihilator - 12.9.2009, 20:33 -------------------- Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо |
||||
|
|||||
| Fatkh |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 5.9.2009 Репутация: 1 Всего: 1 |
|
|||
|
||||
| Fatkh |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 5.9.2009 Репутация: 1 Всего: 1 |
А вот так писать нельзя. В стандарте ничего не написано о том, что time_t считается в секундах. Поэтому код будет выполняться неопределенное время. |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 5 Всего: 59 |
||||
|
||||
| zim22 |
|
||||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
в стандарте не нашёл информации, но здесь написано, что
Это сообщение отредактировал(а) zim22 - 12.9.2009, 21:18 |
||||
|
|||||
| Fatkh |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 5.9.2009 Репутация: 1 Всего: 1 |
Что угодно. Переменную типа time_t. И все (кроме того, что time_t - арифметический тип). The range and precision of times representable in clock_t and time_t are implementation-defined.
Это верно для некоторых реализаций. К примеру, для DigitalMars это не так: "time returns the current time in seconds elapsed since 00:00:00 GMT on January 1, 1968..." Так что об этом нельзя даже предполагать. Что там секунды, тоже не факт. time_t может быть числом с плавающей точкой, а там и округление может сработать не так, как вы предполагаете. Добавлено через 7 минут и 16 секунд
А это из стандарта POSIX. Но не стандарта С или С++. |
||||
|
|||||
| bsa |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Fatkh, прав:
Fatkh, когда ссылаешься на стандар, пожалуйста, приводи цитаты сам, а не заставляй искать других. Добавлено через 2 минуты и 48 секунд
Если честно, сам по себе язык Си был создан для написания на нем операционной системы UNIX. По которой уже и делали стандарт POSIX, если не ошибаюсь. Поэтому, тут как с типом char - в стандарте не сказано, что char == byte, но все это подразумевают. |
||||
|
|||||
| Fatkh |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 5.9.2009 Репутация: 1 Всего: 1 |
1. Для меня это само собой разумеется, это отнюдь не глубины языка. Для того, чтобы сказать, что main всегда возвращает тип int , тоже стандарт цитировать? К тому же то, что считаю более важным - "The range and precision of times representable in clock_t and time_t are implementation-defined." - я процитировал. Но принял к сведению - следующий раз приведу цитаты, мне не сложно. 2. С был написан для этого, но развился в главный язык встроенных систем и кроссплатформенной низкоуровневой разработки. Потому на Unix ориентироваться нельзя. К тому же Posix поддерживают не все. Боюсь, большая часть народа на творении мелкомягких сидит. Пример компилятора, не поддержвающего такую трактовку, я привел. 3. byte: addressable unit of data storage large enough to hold any member of the basic character set of the execution environment character: single-byte character Плюс A byte is composed of a contiguous sequence of bits, the number of which is implementation-defined. Но тут дело в другом. Я не знаю платформы, на которой выгодно было бы занимать под char часть байта. Вы тоже вряд ли. А функции времени - это уж как разработчику захочется. |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 5 Всего: 59 |
В стандарте 99 про time_t ничего кроме перечисления его в типах не сказано.
А что говорит последний стандарт на выражение (time_t - time_t) - что будет в результате? Тоже неопределенность? Интересно, нафига такой тип, которым непонятно как надо пользваться... |
|||
|
||||
| Fatkh |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 5.9.2009 Репутация: 1 Всего: 1 |
1. Значение будет типа time_t. 2. Что значит непонятно? Для того, чтобы было понятно, есть библиотечные функции. Они предоставляют достаточный функционал. С типом вам работать не нужно, работать нужно с функциями. Они знают, что из себя представляет time_t. 3. А тип этот нужен потому, что С расчитан на многие платформы, и на какой-то удобнее реализовать time_t как double или char. Но функции определяют единый интерфейс работы с time_t и другими типами. Это сообщение отредактировал(а) Fatkh - 13.9.2009, 11:06 |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 5 Всего: 59 |
Ну да, в общем-то интерфесные функции есть, я согласен. Просто непривычно иметь дело с С++ и не знать внутренности типов Спасибо за информацию. |
|||
|
||||
| ASMatic |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 254 Регистрация: 14.3.2009 Репутация: нет Всего: 1 |
я бы организовал по другому:
"лишняя" ф-я, но зато чистенько на апи + однозначно 5 сек. Добавлено через 3 минуты и 22 секунды ну и еще в цикл while желательно добавить Sleep(50) или больше чуток, все зависит от того насколько точно надо отсчитать 5сек, а то процессор загрузишь на 50% по другому... |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |