[flac-dev] snprintf and MS Visual Studio
Christoph Terasa
cterasa at googlemail.com
Thu Mar 14 01:16:34 PDT 2013
On 3/14/2013 8:00 AM, Erik de Castro Lopo wrote:
> Hi all,
>
> There are a bunch of sprintf calls in the FLAC code base and I'd like
> to replace them with calls to snprintf but I know that can cause
> problems with at least some versions of Visual Studio.
>
> Whats the current state of play in this regard?
>
> Erik
Since MS refuses to support C99, the common practice is to use either
sprintf_s:
http://msdn.microsoft.com/en-us/library/ce3zzk1k(v=VS.80).aspx
_snprintf_s:
http://msdn.microsoft.com/de-de/library/f30dzcf6(v=VS.80).aspx
The former can be used as a drop-in replacement of snprintf via a
define, the latter takes an additional argument count which can limit
the bytes written to the buffer additionally.
DO NOT use
_snprintf:
http://msdn.microsoft.com/de-de/library/2ts7cx93(v=vs.80).aspx
since this does not NULL terminate if the length of the buffer is equal
to the given buffer size (or larger than), and this differs from the std
behaviour as stated at e.g. http://linux.die.net/man/3/snprintf
Christoph
More information about the flac-dev
mailing list