Bin da kein Experte, aber LP
WSTR dürfte Zeiger auf WideChar sein, während char AnsiChar ist. Ich denke, am besten nimmst du entweder durchgängig WCHAR, LPWSTR etc. (also
Unicode) oder durchgängig die Varianten mit T: TCHAR, LPTSTR etc. (die per Compilerschalter zwischen A und W wechseln können).
Genau richtig. Und da C-Strings nullterminiert sind, wird die hinterstehende 0 des ersten Zeichens vom WideString als Ende der Zeichenkette interpretiert.
Würde dir definitiv auch zu std::string raten, da dort unter anderem der "Add" Operator überladen wird, sodass du Strings wie gewohnt mit + konkatenieren kannst.