[cdev] утилита Date

Grigoriy A. Sitkarev sitkarev на komitex.ru
Чт Апр 15 23:26:48 MSK 2010


1. Есть такой системный вызов stime(2). Прочитайте man-страницу к нему.

2. Вам достаточно было там сказать:

format++ = argv[optind];

Это значит что вам не понятно как Си работает с указателями и адресной 
арифметикой. Надо разобраться вам с этой темой иначе будете вот такие 
"извороты" лепить, обходя то что вам не понятно как работает.

3. Мне кажется что вам нельзя использовать optind для индексации в 
массив argv потому что getopt(3) не гарантирует что там будет валидный 
указатель (он может быть и нулевым уже). Это ошибка.

Вам нужно сделать проверку что optind < argc в таком случае.

--
Г.А.

Сабалова Мария пишет:
> да с -f непорядок
> у меня только с одной маской может работать "%Y-%m-%d %H:%M:%S", надо как-то реализовать с несколькими чтоб можно было работать
> 
> , операторы подправлю
> можете подсказать как можно программно реализовать смену системного времени
> 
> а концовка странная, потому что
> встала проблема обычная функция date если написать date +%r выведет отформатированную информацию без плюса
> чтобы избавится от этого лишнего плюса при выводе на экран, вывод происходит посимвольно, если пользователь указал маску то со второго символа, а если нет с первого символа






Подробная информация о списке рассылки cdev