Reputation: 25
I'm a bit lost, how can I convert the output of sys_inf.uptime
(seconds) into days?
#include <stdio.h>
#include <sys/sysinfo.h>
int main(void) {
struct sysinfo sys_inf; // for system information
sysinfo(&sys_inf); // to get system information
int days = sys_inf.uptime;
float totalDays = days / 86400;
printf("Latest reboot was : %.2ld seconds ago (%.2f)", sys_inf.uptime, totalDays);
return 0;
}
Upvotes: 1
Views: 149
Reputation: 7261
You're doing integer division here:
int days = sys_inf.uptime;
float totalDays = days / 86400;
Add .0
to make it a floating point division:
int days = sys_inf.uptime;
float totalDays = days / 86400.0;
Upvotes: 2