Mit snprintf in einer plattformübergreifenden Anwendung

Ich schreibe ein C-Programm, das voraussichtlich mit allen wichtigen Compilern kompiliert werden kann. Derzeit entwickle ich GCC auf einem Linux-Computer und werde es vor dem Festschreiben des Codes in MSVC kompilieren. Um das Cross-Compilieren zu vereinfachen, kompiliere ich mit-ansi und-pedantic Flaggen. Das hat gut funktioniert, bis ich mit @ angefangen hasnprintf, das im C89-Standard nicht verfügbar ist. GCC kann dies ohne das @ kompilier-ansi switch, aber MSVC schlägt immer fehl, da es keine C99-Unterstützung bietet.

So habe ich so etwas gemacht,

#ifdef WIN32 
#define snprintf sprintf_s
#endif

Dies funktioniert gut, weilsnprintf undsprintf_s hat die gleichen Signaturen. Ich frage mich, ist das der richtige Ansatz?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage