how do I declare something printf like in a portable manner?