New library CStringBuilder to print content to a c-string

I fear that the template construct makes a copy of the class for each used size.

Not necessarily. I have seen the template arguments turn into instance members, with one copy of code. I don't recall if I looked at NeoBufferedPrint, but I think the compiler probably will do that. That class adds the "flush when full" concept to a fixed-size buffer.

I need to add a base class, really, that does what you have offered. Then NeoBufferedPrint can "derive" from that class.

You might want to look at pyro_65's PrintEx library. Much more complete.