Proper msvc implementation of snprintf - _snprintf is different (does not add a null terminator)