Использование snprintf в кроссплатформенном приложении

Я пишу программу на C, которая должна быть скомпилирована со всеми основными компиляторами. В настоящее время я занимаюсь разработкой GCC на машине с Linux и скомпилирую на MSVC перед фиксацией кода. Чтобы сделать кросс-компиляцию легкой, я собираю с-ansi а также-pedantic флаги. Это работало хорошо, пока я не начал использоватьsnprintf который не доступен в стандарте C89. GCC может скомпилировать это без-ansi коммутатор, но MSVC всегда терпит неудачу, поскольку у него нет поддержки C99.

Итак, я сделал что-то вроде

#ifdef WIN32 
#define snprintf sprintf_s
#endif

Это хорошо работает, потому чтоsnprintf а такжеsprintf_s имеет такие же подписи. Мне интересно, это правильный подход?

Ответы на вопрос(5)

Ваш ответ на вопрос