Usando snprintf em um aplicativo de plataforma cruzada

Estou escrevendo um programa em C que deve ser compilado com todos os principais compiladores. Atualmente, estou desenvolvendo no GCC em uma máquina Linux e compilando no MSVC antes de confirmar o código. Para facilitar a compilação cruzada, estou compilando com-ansi e-pedantic bandeiras. Isso funcionou bem até eu começar a usarsnprintf que não está disponível no padrão C89. O GCC pode compilar isso sem o-ansi mas o MSVC falhará sempre, pois não possui suporte para C99.

Então eu fiz algo como,

#ifdef WIN32 
#define snprintf sprintf_s
#endif

Isso funciona bem porquesnprintf esprintf_s tem as mesmas assinaturas. Gostaria de saber se esta é a abordagem correta?

questionAnswers(5)

yourAnswerToTheQuestion