#include <tickit.h> size_t tickit_utf8_put(char *str, size_t len, long codepoint);
Link with -ltickit.
tickit_utf8_put() appends bytes into a buffer to represent the given codepoint. The UTF-8 bytes will be appended directly starting from str, and the function then returns the total number of bytes appended. The length of the buffer should be given to as len; if the buffer is not long enough then it is left unmodified and -1 is returned instead. If str is NULL then the function will simply return the number of bytes it would need to append to represent the codepoint.
This function does not expect the buffer to be NUL-terminated, and it will not terminate the buffer with a NUL byte on completion.
tickit_utf8_put() returns the number of bytes appended to the buffer, or -1 if the buffer was not long enough.