It's comparable to the Windows versions for when you want to have a portable solution. In a lot of cases it appears to do even more and better checks than what Windows does internally. Only Linux safe C lib for strings available AFAIK. Note Windows uses standard errno, mainly EINVAL and ERANGE, while this lib uses custom/additional ones. Easy enough to fix if you want them to be the same. I only wish it had a "vsnprintf_s" (as a base "sprintf_s", "snprintf_s", etc.) already built in. Micro$oft's internal custom version not only has argument and buffer size validation, it also validates the format. Note understood this is meant to be ISO/IEC TR24731 compliant, the Windows versions are a bit different..