I am developing software for the MSP430 using TI's CCS v5.1 with the MAVRK code libraries (recent update, April 2012) and I have found a rather mind-boggling lack of support for common format specifiers in the standard C library function sprintf(). Here's the issues I've uncovered so far, and note that I am early int he development on my project:
1) does not support width, precision, or leading 0 specifiers, e.g. "%04X" to print and integer with exactly 4 ASCII hex characters with leading 0's; stuck with just "%x"
2) Does not support long integers (%ld)
3) short integer support using "%d" is unsigned (treated like "%u").
How can this library be so lacking in what is standard in every other embedded C library I've ever used, dating back to the 1990's on 8-bit 8051 microcontrollers?
Are there any formatted sprintf() libraries anywhere I can use with the MSP 430 under CCS 5.1, or can I get them with an upgrade of some type, or do I have to go back to cave man days and reinvent the wheel to get what should be basic C library functionality in my project?