C/Strncatf
From Attie's Wiki
This is a variation of strcat()
with a few important differences / improvements:
- allows you to pass a formatted string like
printf()
- takes a max length for dest, not for how much of src to use (like
strncat()
) - returns a pointer to the
\0
at the end of dest after the operation.
char *strncatf(char *dest, int length, char *format, ...) { char buf[4096]; va_list ap; va_start(ap,format); vsnprintf(buf,sizeof(buf),format,ap); va_end(ap); length -= strlen(dest); strncat(dest,buf,length-1); return &dest[strlen(dest)]; }