C/Strncatf

From Attie's Wiki
Revision as of 01:27, 24 November 2010 by Inumitope (Talk | contribs)

Jump to: navigation, search

This Page Is Currently Under Construction And Will Be Available Shortly, Please Visit Reserve Copy Page

This is a variation of <code>strcat()</code> with a few important differences / improvements:

  • allows you to pass a formatted string like <code>printf()</code>
  • takes a max length for dest, not for how much of src to use (like <code>strncat()</code>)
  • returns a pointer to the <code>\0</code> at the end of dest after the operation.

<source lang="c"> 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)];

} </source>

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox