| .. | ||
| kprint_colors.h | ||
| kprint_format.h | ||
| kprint_format.md | ||
| kprint.h | ||
| kprintf.h | ||
| README.md | ||
kprintf
It is just my cross-plaform variant of printf.
Unlike in standard printf, %l... and %ll... placeholders dont depend on size of long int and long long int. And you can change terminal colors by unix codes (\e[92m) even on Windows.
| type | placeholder |
|---|---|
| i8 / i16 / i32 | %i / %d |
| i64 | %li / %ld / %lld / %lli |
| u8 / u16 / u32 | %u |
| u64 | %lu / %llu |
| f32 / f64 | %f |
| char | %c |
| char[] | %s |
| void* | %p |
| 32bit or less | %x |
| 64bit | %lx |
kprint
I don't really like printf function (and its variants), so i made safer and more convinient replacement.
| function | returns | arguments |
|---|---|---|
| kprint | void/throw | kp_fmt, void*, kp_fmt, void*... |
| ksprint | Maybe<char*> | kp_fmt, void*, kp_fmt, void*... |
| kfprint | Maybe | FILE*, kp_fmt, void*, kp_fmt, void*... |
how to use it:
-
format construction:
kp_fmt fmt= kp_fgColor | kp_bgColor | kp_dataFmt | flags | ktid;- fgColor and bgColor can be set to change console output color
- you should set dataFormat for
int/uint/float/char\*arguments and ktid for other types - flags can be set to modify TypeDescriptor.toString() behavior
- don't forget to set TypeDescriptor.toString when registering type, or kprint will crash
-
using base type arguments:
you can just put them into a functionkprint(kp_h|kp_upper|kp_prefix, 255);output: 0xFF
-
using other registered types:
should be sent as pointersMaybe m=MaybeNull; kprint(kp_fgBlue|kp_s, "Maybe: ", kp_fgGreen|ktid_MaybePtr, &m);output: Maybe: {value: { Pointer, 0x0 }}