Pfad ermitteln??
-
Hmmm,
wenigstens ist er ehrlich das er keine Zeit hat. Da Du keine Zeit hast tue ich dir den gefallen und poste es direkt:
#include <direct.h> #define sztitle "Dein Programm: Pfaderkennung" char* path = new char [1024]; strcpy ((char*)path, (char*)""); path = _getdcwd (_getdrive (), (char*)path, 400); MessageBox (NULL, (char*)path, (char*)sztitle, MB_OK | MB_ICONINFORMATION);Ich habe es aus meiner Engine heruaskopiert, allerdings sollte es eigentlich funktionieren. _getdcwd liefert der den pfad, erwartet allerdings das Laufwerk, welches du mit _getdrive bekommst. Achtung: es gibt noch eine Funktion _getdrives, die hier zu fehlern führen kann.
Gruß fluxy
-
What the fuck

Der Code ist ja schlecht.

-
wieso soll der schlecht sein? Er erfüllt seinen sinn.
-
getdcwd liefert nur das Current Working Directory. Das ist manchmal nicht der richtige Pfad den man haben will.
Du benutzt einige Compilerspezifische Funktionen wo man genauso Winapi-Funktionen einsetzen könnte.
Du hast unnötige Casts.
usw. :p
-
und du legst den Speicher auf dem Heap an, wo er auf dem Stack besser plaziert wäre.
-
Danke @fluxy.
Ich kann den code erst morgen testen. Hab grad NULL zugang zu meinem Rechner.
@Worm wenn du verbesserungsvorschläge hast dann poste sie bitte.
Deine Aussagen bringen mich irgendwie nicht weiter.
Bin noch voll der newbie!
-
hab dir doch den Link gegeben
-
Hab noch vergessen euch zu sagen das ich Visual C++ 6.0 benutze.
Nur so als Info.
-
Hab mir den Link angeguckt.

Danke.
Ich glaub das bringt mich weiter.
Ich werd alles mal ausprobieren. Auch fluxys varriante.Danke euch beiden.

-
#include <windows.h> #include <shlwapi.h> #pragma comment(lib, "shlwapi.lib") int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { char Pfad[MAX_PATH] = {NULL}; GetModuleFileName(hInstance, Pfad, MAX_PATH); PathRemoveFileSpec(Pfad); MessageBox(NULL, Pfad, "Pfad zu diesem Programm:", MB_OK|MB_ICONINFORMATION); return 0; }