In Xcode nur (Visual Studio ist in Ordnung), sehe ich Swprintf brechen, wenn Sie versuchen, es in eine Wrapper-Funktion mit va_args zu setzen.va_args bricht breite String-Funktionen (swprintf) in XCode
Vereinfachtes Beispiel:
void test(wchar_t *a_buffer, int a_buffer_size, const wchar_t* a_format, ...)
{
va_list args;
va_start(args, a_format);
::swprintf(a_buffer, a_buffer_size, a_format, args);
va_end(args);
}
double value = 1.0;
wchar_t text[32];
::swprintf(text, 32, L"%f", value); // this works (text=L"1.0000")
test(text, 32, L"%f", 30.0); // this does not work (text=L"0.0000")
Jede Hilfe dankbar, es ist ein ziemlicher stumper. Ich gehe davon aus, dass das Problem mit einer Eigenart von XCode ist.
Ich habe bereits mit Locale-Einstellungen und Dateieigenschaften wie in dieser Frage vorgeschlagen: swprintf fails with unicode characters in xcode, but works in visual studio, aber es hat keine Änderung ergeben, es sieht aus wie ein separates Problem.
Danke.
'swprintf()' nimmt _not_ nicht ein Argument. Du meinst 'vswprintf()' zu verwenden. – mah
vswprintf() ist in der Tat, was ich brauchte, danke. –