rmacgreg@cs.strath.ac.uk (Sorcerer) (02/18/91)
I'm trying to get the time and date using the ctime() function, but I've come up against a rather large problem... Ctime() expects a long int as an argument, but the manual doesn't say how or where you get this long int from. The manual gives: char *ctime(clock) long *clock; ctime() converts a long integer, pointed to by clock, to a 26-character string of the form produced by asctime() . It first breaks down clock to a struct tm by calling local- time(), and then calls asctime() to convert that struct tm to a string. Which is no help whatsoever. If it makes any difference I am on a Sun workstation running Un!x... The Sorcerer is 'Only visiting this planet' but can be found at: JANET: cadx862 @uk.ac.strathclyde.computer-centre-sun rmacgreg@uk.ac.strathclyde.computer-science INTERNET: via nsfnet-relay.ac.uk BITNET: via ukacrl UUCP: via ukc.uucp or second star to the right and straight on 'till morning.
tchrist@convex.COM (Tom Christiansen) (02/19/91)
From the keyboard of rmacgreg@cs.strath.ac.uk (Sorcerer): :I'm trying to get the time and date using the ctime() function, but I've come :up against a rather large problem... Ctime() expects a long int as an :argument, but the manual doesn't say how or where you get this long int from. My manual says: char *ctime(const time_t *clock); usually you feed it something from the output of time(3) or perhaps the st_[acm]time fields from a stat(2) call. My time(3) looks like this: time_t time(time_t *tloc); So in general, do this: time_t now = time(0); char *cnow = ctime(&now); replace time_t with long on old systems. --tom -- Tom Christiansen tchrist@convex.com convex!tchrist "All things are possible, but not all expedient." (in life, UNIX, and perl)