NAME
u64_fmt, u64_fmtg, u64_0fmt - write an u64 as decimal value into a byte array
u64_xfmt, u64_0xfmt - write an u64 as hexadecimal value into a byte array
u64_ofmt, u64_0ofmt - write an u64 as octal value into a byte array
u64_bfmt, u64_0bfmt - write an u64 as binary value into a byte array
SYNOPSIS
#include <limb/u64.h>
size_t u64_fmt(char *s, u64 u) size_t u64_0fmt(char *s, u64 u, size_t min) size_t u64_fmtg(char *s, u64 u) size_t u64_0fmtg(char *s, u64 u, size_t min) size_t u64_xfmt(char *s, u64 u) size_t u64_0xfmt(char *s, u64 u, size_t min) size_t u64_ofmt(char *s, u64 u) size_t u64_0ofmt(char *s, u64 u, size_t min) size_t u64_bfmt(char *s, u64 u) size_t u64_0bfmt(char *s, u64 u, size_t min)
DESCRIPTION
The u64_fmt
() macro will write into s
the value of u
in decimal.
The u64_0fmt
() macro will write into s
the value of u
in decimal,
prefixing it with leading zeroes if it requires less than min
characters to do
so.
The u64_fmtg
() and u64_0fmtg
() macros are similar, only they will use a
coma (,
) as thousand separator as needed.
The u64_xfmt
() and u64_0xfmt
() macros are similar, only putting the value
of u
in hexadecimal.
The u64_ofmt
() and u64_0ofmt
() macros are similar, only putting the value
of u
in octal.
The u64_bfmt
() and u64_0bfmt
() macros are similar, only putting the value
of u
in binary.
It is possible to use NULL
as s
to only have length computation performed.
Note that those are macros to u64_fmt_generic(3) and u64_0fmt_generic(3).
Constants
Some constants are available if needed, e.g. to allocate a buffer large enough :
U64_FMT
Maximum number of char
needed to hold a decimal string
U64_FMTG
Maximum number of char
needed to hold a thousand-separated decimal string
U64_XFMT
Maximum number of char
needed to hold an hexadecimal string
U64_OFMT
Maximum number of char
needed to hold an octal string
U64_BFMT
Maximum number of char
needed to hold a binary string
Note that all of those include an extra char
for a proper NUL-terminated
string.
RETURN VALUE
All of these return the length of the string written into s
, or required to
do so when s
is NULL