/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
Bech_bb 500
kyllekylle 500
jdjespers.. 500
gibson 300
scootergr.. 300
molokyle 287
10  strarup 270
Funktion, der returnere real tid.
Fra : Tomas .


Dato : 19-04-07 09:07

Findes der en funktion i C, der kan returnere, hvad klokken er på det
kaldte tidspunkt?

eks.

tid = realtime();


--
Mvh.

Tomas


 
 
N (19-04-2007)
Kommentar
Fra : N


Dato : 19-04-07 11:30


"Tomas ." <huttelbuttel@hotmail.com> skrev i en meddelelse
news:11769703390.1912127098275@dtext.news.tele.dk...
> Findes der en funktion i C, der kan returnere, hvad klokken er på det
> kaldte tidspunkt?
>
> eks.
>
> tid = realtime();
>
>
> --
> Mvh.
>
> Tomas
>

Nej og ja.

Så vidt jeg ved findes lige dén funktion ikke, men det følgende kan da
bruges.
Der er benyttet ansi c rutiner, så det burde virke på de platforme der
understøtte dette.
Rutinen returnere en pointer til en char. Så det er faktisk en streng der
returneres.
Selve konverteringen sker ved kald til "strftime", hvor man ved at overgi
antallet af "secs" som fåes ved kald til "time(&secs)".
"localtime" returnere så en pointer til strukturen "tm" der kan overgives
til "strftime"
"strftime" er en rutine a' la "printf" som med forskellige karaktere
aflevere en streng udfra valget af parameter overgivet til "strftime".
Her følger et eksempel:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

char *timestamp(void);

void main()
{
char *timestr;

timestr=timestamp();
puts(timestr);
}

char *timestamp()
{
char
*mdr[]={"Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"};

struct tm *tim;
clock_t secs;
char str[80],temp[80];
char w;

tzset();
time(&secs);
tim=localtime(&secs);
strftime(str, 80, "%w",tim);
w=atoi(str);
strftime(str, 80, "%H:%M:%S ",tim);
strcat(str,mdr[w]);
strftime(temp, 80, " %d/%m-%Y ",tim);
strcat(str,temp);
return(str);
}

VH Allan



Tomas . (19-04-2007)
Kommentar
Fra : Tomas .


Dato : 19-04-07 12:29

N <nuller@goj.net> skrev:
>
>"Tomas ." <huttelbuttel@hotmail.com>
>skrev i en meddelelse
>news:11769703390.1912127098275@dtext
>.news.tele.dk...
>> Findes der en funktion i C, der
>>kan returnere, hvad klokken er på det
>> kaldte tidspunkt?
>>
>> eks.
>>
>> tid = realtime();
>>
>>
>> --
>> Mvh.
>>
>> Tomas
>>
>
>Nej og ja.
>
>Så vidt jeg ved findes lige dén
>funktion ikke, men det følgende kan da
>bruges.
>Der er benyttet ansi c rutiner, så
>det burde virke på de platforme der
>understøtte dette.
>Rutinen returnere en pointer til en
>char. Så det er faktisk en streng der
>returneres.
>Selve konverteringen sker ved kald
>til "strftime", hvor man ved at overgi
>antallet af "secs" som fåes ved kald
>til "time(&secs)".
>"localtime" returnere så en pointer
>til strukturen "tm" der kan overgives
>til "strftime"
>"strftime" er en rutine a' la
>"printf" som med forskellige karaktere
>aflevere en streng udfra valget af
>parameter overgivet til "strftime".
>Her følger et eksempel:
>
>#include <stdio.h>
>#include <stdlib.h>
>#include <string.h>
>#include <time.h>
>
>char *timestamp(void);
>
>void main()
>{
> char *timestr;
>
> timestr=timestamp();
> puts(timestr);
>}
>
>char *timestamp()
>{
> char
>*mdr[]={"Søndag","Mandag","Tirsdag",
>"Onsdag","Torsdag","Fredag","Lørdag" };
>
> struct tm *tim;
> clock_t secs;
> char str[80],temp[80];
> char w;
>
> tzset();
> time(&secs);
> tim=localtime(&secs);
> strftime(str, 80, "%w",tim);
> w=atoi(str);
> strftime(str, 80, "%H:%M:%S ",tim);
> strcat(str,mdr[w]);
> strftime(temp, 80, " %d/%m-%Y ",tim);
> strcat(str,temp);
> return(str);
>}
>
>VH Allan


Takker, det prøver jeg

--
Mvh.

Tomas


Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste