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