NEVER EVER use sprintf()