Ich bin gerade dabei C zu lernen und hänge gerade an einem kleinen
Problem...
Ich habe folgenden Code
1 | #include .....
|
2 |
|
3 | struct uptime {
|
4 | int days;
|
5 | int hours;
|
6 | int minutes;
|
7 | };
|
8 | .....
|
9 | void get_up_time() {
|
10 | struct sysinfo s_info;
|
11 | struct uptime ut;
|
12 | int error = sysinfo(&s_info);
|
13 | long int uptimes = s_info.uptime; // returned in seconds
|
14 | ut.days = uptimes / (60*60*24);
|
15 | int upmind = uptimes - (ut.days * (60*60*24));
|
16 | ut.hours = upmind / (60*60);
|
17 | int upminh = upmind - ut.hours * (60*60);
|
18 | ut.minutes = upminh / 60;
|
19 | }
|
20 | ....
|
21 | void bla() {
|
22 | ....
|
23 | int blubb() {
|
24 | ....
|
25 | int main() {
|
26 | ...
|
27 | char str[256];
|
28 | struct uptime ut;
|
29 | get_up_time();
|
30 | sprintf(str, "%d, %02d:%02d", ut.days, ut.hours, ut.minutes);
|
31 | ...
|
Nun steht in buf aber immer nur "0, 00:00". Das Format stimmt ja, aber
der Inhalt...
Die Funktion zum holen der Uptime funktioniert einwandfrei, wenn ich das
ohne das struct mache.
Letztendlich ist das ganze nicht für die Uptime gedacht, nur zum üben,
es sollte global bleiben und nich nur für eine Funktion, damit kann ich
mir viel Code sparen :P
Ich hoffe ihr könnt mir bei meinem Problem ein wenig helfen :)