A bit overengineered don't you think? I probably would not recommend that to a beginner.
Well, I'm terrible at judging what is suitable for a beginner or not, but from the thread I inferred the OP wants to learn how to improve formatting. I don't see much options on how to improve formatting if the strings don't come from somewhere else, unless he passes them manually as printf arguments, but I refuse to do an example like that LOL