C Problem -- -variable Parameterliste
-
Gibt es für den C Kram hier eine Stringroutine? die Streamoperatoren sind für mich in diesem Fall nicht sinnvoll.
void log(const char *fmt, ...) va_start(ap, fmt); String For Variables vsprintf(text, fmt, ap); va_end(ap);
-
was genau willst du erreichen?
-
Logger::GetInstance().write(L"Position x %f, y %f, z %f", x, y, z);--> könnte man ja ohne weiteres streamen.
ABER:
log(...) { // ... file << time; // hier die nachricht file.endl; }Mein Problem ist: Beim Streamen kann ich nicht pdafür sorgen, dass die Zeit immer ausgegen wird, wenn eine neue Zeile angelegt wird:
Logger::GetInstance() << L"Position" << x << y << z;Dann müsste ich ja immer schreiben:
Logger::GetInstance() << time << L"Position" << x << y << z;--> das soll aber der Logger selber machen...
-
das ist sicher keine besonders elegante variante:
du könntest die ausgabe zunächst in einen stringstream leiten und vor dem schreiben in das logfile nach jedem newline den zeitstempel in den string einfügen.
-
man könnte ja auch das '<<' vom logger überladen und ihn die zeit selber schreiben lassen...
-
gibt es von va_Start. etc. auch eine wchar_t version?
-
Diese var_arg Funktionen haben überhaupt nichts mit char/wchar_t zu tun - die müssen nur wissen, welche Größe die variablen Parameter (angeblich) haben.
-
Ja, habe ich auch grade mitbekommen, es lag hier ran: vswprintf.