URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 7357
[ Назад ]

Исходное сообщение
"Как установить системное время в knoppix?"

Отправлено votstavke , 08-Май-08 20:42 
Задаю системное время вызовом stime.

time_t t=1000000000;  
  int stime(time_t *t);

  char* g=ctime(&t);
  printf("%s", g);

результат - printf печатает измененное время, какое то там число 2001 года с данным t получается, а время в системе не меняется. Запускаю программу из под рута(сначала пишу su, потом ./имя_проги)

Про утилиту date знаю. Нужно обойтись без нее. Объясните, пожалуйста, что делаю не так. 12.05.08 уже сдавать


Содержание

Сообщения в этом обсуждении
"Как установить системное время в knoppix?"
Отправлено anonymous , 09-Май-08 01:07 
>Задаю системное время вызовом stime.

OK, сейчас посмотрим.

> time_t t=1000000000; /* OK */
> int stime(time_t *t);  /* WTF? Для кого придуман time.h?  Вы прототипы всех функций вручную выписываете, а? */
>  char* g=ctime(&t); /* И что?  Получили строковое представление времени в переменной t */
>  printf("%s", g); /* ...и распечатали */

Где, собственно, изменение?

>результат - printf печатает измененное время, какое то там число 2001 года

Да вы что?!


"Как установить системное время в knoppix?"
Отправлено exn , 09-Май-08 01:21 
man settimeofday


"Как установить системное время в knoppix?"
Отправлено votstavke , 09-Май-08 22:53 

>
>Где, собственно, изменение?
>

это как раз меня и интересует! я не понимаю как это реализовать. man settimeofday читал.

Здесь задал вопрос в надежде, что мне объяснят, как установить системное время.
то что я что-то делаю неправильно, я прекрасно понимаю, делал бы правильно - работало бы.

Напишите, пожалуйста, как правильно.


"Как установить системное время в knoppix?"
Отправлено votstavke , 09-Май-08 23:31 
вот сейчас еще попробовал :

int main()
{
int settimeofday(1000);
return 0;
}

прога компилируется, запускаю из под рута, но ничего не происходит.(время не меняется)
Понимаю, что туплю, но что нужно добавить?


"Как установить системное время в knoppix?"
Отправлено anonymous , 10-Май-08 00:39 
Ещё раз привожу "ключевую" строку вашего кода:

int stime(time_t *t);

Что делает эта строка в коде (в смысле, зачем вы её вписали в код, как вы её понимаете)?

Да, я знаю что это лаба, и поэтому не привожу готовое решение -- вы должны хоть чему-то научиться (судя по всему, вы не знаете базовых вещей в Си, Linux тут не причём).


"Как установить системное время в knoppix?"
Отправлено exn , 10-Май-08 03:22 
int settimeofday(1000);

lol, в ман даже и не заглянул небось


"Как установить системное время в knoppix?"
Отправлено anonymous , 10-Май-08 03:50 
>int settimeofday(1000);
>
>lol, в ман даже и не заглянул небось

+100, no chance чтобы такое скомпилировалось (даже не из-за количества параметров, а из-за int в непонятном месте)


"Как установить системное время в knoppix?"
Отправлено votstavke , 10-Май-08 17:38 
>>int settimeofday(1000);
>>
>>lol, в ман даже и не заглянул небось
>
>+100, no chance чтобы такое скомпилировалось (даже не из-за количества параметров, а
>из-за int в непонятном месте)

компилировалось, клянусь) но не работало. я уж понял почему.
в ман я и заглядывал и читал. все равно не мог понять, без примеров.
в программировании не силен, знаю. поэтому и попросил здесь совета.
но никто конкретного решения не написал.

ну и фиг с ним, сам разобрался.


"Как установить системное время в knoppix?"
Отправлено votstavke , 10-Май-08 17:34 

>
>int stime(time_t *t);
>
>Что делает эта строка в коде (в смысле, зачем вы её вписали
>в код, как вы её понимаете)?

перед этим я же указал, что t=100000.
как я думал, эта строка устанавливает системное время в значение t.
>
>Да, я знаю что это лаба, и поэтому не привожу готовое решение
>-- вы должны хоть чему-то научиться (судя по всему, вы не
>знаете базовых вещей в Си, Linux тут не причём).

это не лаба, это курсовой) да-да, на 3-м курсе в мирэа.

и я его уже сделал.
вот так:
    struct timeval tv;

    tv.tv_sec = 1000;
    tv.tv_usec = 1000;
    return settimeofday (&tv, 0);



"Как установить системное время в knoppix?"
Отправлено anonymous , 10-Май-08 21:47 
>>int stime(time_t *t);
>>
>>Что делает эта строка в коде (в смысле, зачем вы её вписали
>>в код, как вы её понимаете)?
>
>перед этим я же указал, что t=100000.
>как я думал, эта строка устанавливает системное время в значение t.

А оказывается, что нет.  Это всего-навсего прототип функции, который не вызывает ровно никаких действий.  Возьмите Кернигана и Ричи и почитайте.