printf("%*.16xs", n, p);
where n is a
size_tand p is a
void*, and it would output n bytes as hex.
And I want to be able to say
printf("%*qs", n, p);
and it would output n bytes as a C-style backslash quoted string.
Yes, I can write functions that do all this, but I have to worry about buffers, allocate buffer space, and so forth. Plus its a lot of noise and clutter, for just outputing potentially unprintable strings, often just for logging and debugging.