id62
TCHAR kommt von TypeCHARacter. Ist ein typedef das je nach Compilereinstellung auf Unicode oder ASCII spezifiziert wird.
Im eigentlichen ist es das:
|
C-/C++-Quelltext
|
1
2
3
4
5
|
#if defined(UNICODE)
typedef wchar_t TCHAR;
#else
typedef char TCHAR;
#endif
|
Eine va_list ist eine sog. Valuement Argument List. Sie wird für die Extraktion aus Deinen variablen Parametern (diese ...-Dinger) benötigt.
mit vsprintf werden die Daten dann in einen "normalen" String umgewandelt.
Was ich jedoch grade extrem erschreckend finde ist nicht das C an den Klassen, die Großschreibung, oder das f bei einem Funktionsnamen (K.A. wofür das steht), sondern das TCHAR mit char benutzt wird!
Würde man ein neues Projekt unter einem Unicodecompiler wie z.B. Microsoft Visual C++ 2005 Express Edition, anlegen und den Code so aptippen, wäre ein Neuling total am verzweifeln wegen dem Konflikt wchar_t auf char!
Ich glaub das war wohl eher ein Flüchtigkeitsfehler des Autors.
Spik)evil(
va_list ist nichts anderes als:
|
C-/C++-Quelltext
|
1
|
typedef char* va_list;
|
Da wird es knallen bei Unicode, kräftigst