I'm trying to run a program that runs fine when built with gcc - and it builds okay with MSVC but crashes at run time.

I've traced the crash to a call to vsnprintf() which is getting passed a string like this:- "(Value: %s%s %+05.1lf dB) "

I've never seen %+05.1lf in a string before - is it a valid argument for MSVC?