Изучая C, я пытаюсь получить визуальное сравнение типов и размеров переменных, возвращаемых stat()
для атрибутов atime/mtime и для значений точности nsec.
Я запускаю stat()
в файле и хочу получить значения mtime и mtime nsec из возвращенной структуры статистики, а затем сохранить эти значения в отдельных переменных (которые я затем хочу передать в utimes()
... долгая история!).
Согласно http://www.kernel.org/doc/man-pages/online/pages/man2/stat.2.html#NOTES Я могу получить значение из st_mtim.tv_nsec
или st_mtimensec
в зависимости от различных условий ОС/сборки. В моей реальной программе я проверю оба варианта и использую то, что установлено, или просто вернусь к обычной второй точности st_mtime
Какой тип и размер переменной мне нужно объявить, чтобы сохранить обычную метку времени, возвращаемую st_mtime
?
Какой тип и размер переменной мне нужно объявить для хранения значения nsec из st_mtim.tv_nsec
или st_mtimensec
?
Являются ли они десятичными, включая количество целых секунд времени? Или они просто возвращают nsec часть времени?
Нужно ли объявлять разные размеры переменных для nsecs в зависимости от архитектуры моей системы?
И, наконец, какие спецификаторы преобразования мне нужны для вывода этих переменных с помощью printf()
?
Привет, Б