![]() |
|
Модераторы: xvr |
![]()
|
|
| user678 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 10.9.2010 Репутация: нет Всего: нет |
На одной машине функция time возвращает текущее время, а на другой машине функция time возвращает время первого вызова функции. Скажите пожалуйста в чем причина и как это исправить.
#include <stdio.h> #include <sys/types.h> #include <time.h> time_t t1,t2; (void) time(&t1); (void) time(&t2); int dif = 0; do { //some work (void) time(&t2); dif = (int) t2 - t1; printf ("Time %d\n", dif); } while(dif<30); |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 16 Всего: 110 |
а она не в какой-то статической функции? в общем, показывайте код, ОС, версию компилятора. |
|||
|
||||
| proc_maker |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 11.11.2006 Репутация: 1 Всего: 1 |
А Вы неправильно получаете результат:
#include <time.h> time_t time(time_t *t); Следовательно:
|
|||
|
||||
| svlary |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 8.9.2009 Репутация: 4 Всего: 4 |
Из приведенного текста программы, никак не следует, что t2 - время первого вызова! На самом деле, вы просто выводите значение :
А вот значение dif может быть нулевым по разным причинам :
|
||||
|
|||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |