It need not even be a performance hit. The compiler could recognize the idiom of code such as
snprintf(buffer, bufLen, "%s%s%s", s, t, u);
b = buffer; e = b + bufLen: while((b < e) && (*b++ = *s++)); while((b < e) && (*b++ = *t++)); while((b < e) && (*b++ = *u++)); *b = 0;
It need not even be a performance hit. The compiler could recognize the idiom of code such as
and optimize it into (example possibly buggy; my C is rusty)