|
|
|
|
||||||
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Hallo group members,
Do You know any conversion specification for this. I imagine: struct timeval time; printf("%T\n", time); regards, Pawel |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
PawelCarqowski wrote:
> Hallo group members, > Do You know any conversion specification for this. I imagine: > > struct timeval time; > printf("%T\n", time); struct timeval is a GNU C extension. There are no specific format specifiers for this but since the structure members are of type long int you can use the 'ld' format specifier for printing them. For furher GNU C related questions please ask in a GNU group or in a Linux group. |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
santosh wrote:
> PawelCarqowski wrote: > >> Hallo group members, >> Do You know any conversion specification for this. I imagine: >> >> struct timeval time; >> printf("%T\n", time); > > struct timeval is a GNU C extension. It's POSIX. -- Ian Collins. |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
Ian Collins wrote:
> santosh wrote: >> PawelCarqowski wrote: >> >>> Hallo group members, >>> Do You know any conversion specification for this. I imagine: >>> >>> struct timeval time; >>> printf("%T\n", time); >> >> struct timeval is a GNU C extension. > > It's POSIX. You're right, thanks. |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
On Thu, 29 Nov 2007 10:43:25 +0100, PawelCarqowski wrote:
> Hallo group members, > Do You know any conversion specification for this. I imagine: > > struct timeval time; > printf("%T\n", time); > > regards, > Pawel I use printf( "%ld.%.6ld\n", time.tv_sec, time.tv_usec); which produces output like 1194509197.415800 |
|
|
|
#6 |
|
Messages: n/a
Hébergeur: |
santosh wrote:
> struct timeval is a GNU C extension. http://opengroup.org/onlinepubs/0096...ys/time.h.html The <sys/time.h> header shall define the timeval structure that includes at least the following members: time_t tv_sec Seconds. suseconds_t tv_usec Microseconds. The time_t and suseconds_t types shall be defined as described in <sys/types.h>. time_t and clock_t shall be integer or real-floating types. The type suseconds_t shall be a signed integer type capable of storing values at least in the range [-1, 1000000]. > There are no specific format specifiers for this [...] Right. (However, glibc does allow custom conversion specifiers.) http://www.gnu.org/software/libc/man...ng-Printf.html > but since the structure members are of type long int > you can use the 'ld' format specifier for printing them. AFAIU, it is possible for time_t to be wider than long int, but I'm not sure. Consider a platform where time_t is 64 bits wide and long int is only 32 bits wide. > For furher GNU C related questions please ask in a GNU group > or in a Linux group. comp.unix.programmer for Unix-related questions. gnu.gcc. for GCC-specific questions. |
|
|
|
#7 |
|
Messages: n/a
Hébergeur: |
Duncan Muirhead wrote:
> PawelCarqowski wrote: > >> Do You know any conversion specification for this. I imagine: >> >> struct timeval time; >> printf("%T\n", time); > > I use > printf( "%ld.%.6ld\n", time.tv_sec, time.tv_usec); > which produces output like > 1194509197.415800 What does it print when tv_usec = 666? :-) |
|
|
|
#8 |
|
Messages: n/a
Hébergeur: |
Spoon wrote:
.... > AFAIU, it is possible for time_t to be wider than long int, but > I'm not sure. Consider a platform where time_t is 64 bits wide > and long int is only 32 bits wide. time_t can be any arithmetic type. It could even be _Imaginary; which has some interesting :-) implications. |
|
![]() |
| Outils de la discussion | |
|
|