Получение последней метки времени загрузки в C

Я был в состоянии получить значение uptime из proc/uptime (который в секундах). Однако мне нужно получить последнюю отметку времени загрузки с помощью C. (Я не могу использовать функцию System() для вызова uptime).

Например, мне нужно правильное время, когда вы запускаете "uptime", значение, которое вы получаете:

15:31:35 up 2 days,  4:14,  3 users,  load average: 0.04, 0.05, 0.05

Мне нужна эта первая часть: 15:31:35. Есть ли встроенная функция C, которая может мне это дать? Ваша помощь очень ценится!

2 ответа

Решение

Открыто /proc/uptime и прочитайте это. Первое число - время работы в секундах.

Чтение /proc/uptime это хорошо.

Или вы можете использовать FILE *fp = popen("uptime", "r") и читать из фп строку, которую вы хотите.

Это немного более портативный. (Под этим я подразумеваю разные юниксы как MacOS).

О, я только что увидел ваше отсутствие "системного" требования. Не берите в голову.

Другие вопросы по тегам