Thema: C++ strcpy problem

Einzelnen Beitrag anzeigen

Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#8

AW: strcpy problem

  Alt 22. Sep 2015, 15:57
Muss es denn C sein? Vielleicht geht ja C++ mit ner String-Klasse? (std::string, CString, ...)

Edit: Schau dir mal MSDN-Library durchsuchenPathCombine und Co an.
Ja leider bzw.. ist doch C++
Ist ein C++ Sample für meine Lib.
Dann nimm std::string anstelle von char*. Das macht den Schmerz erträglicher.

Code:
char currentDir[MAX_PATH];
char Path[MAX_PATH];

GetCurrentDirectoryA(MAX_PATH, (LPSTR) currentDir);
sprintf(Path, "%s%s", currentDir, "\\SPlugins\\Visual Ball\\Ball.svp");

exec.Pluginfile = Path;
funktioniert..
Aber hier bekomme ich bei currentDir nur das erste zeichen C + den zweiten Pfad
Code:
char currentDir[MAX_PATH];
char Path[MAX_PATH];

GetCurrentDirectory(MAX_PATH, (LPWSTR) currentDir);
sprintf(Path, "%s%s", currentDir, "\\SPlugins\\Visual Ball\\Ball.svp");

exec.Pluginfile = Path;
GetCurrentDirectory ist dann automatisch GetCurrentDirectoryW.

Sieht dann so aus
"CSPlugins\Visual Ball\Ball.svp"

Warum geht es nicht mit WideChar.
Bin da kein Experte, aber LPWSTR 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).
Uli Gerhardt

Geändert von uligerhardt (22. Sep 2015 um 16:00 Uhr)
  Mit Zitat antworten Zitat