GetSystemDirectory gibt immer einen Fehler
-
Hey.
Warscheinlich gibt es eine ganz einfach Lösung für mein Problem, aber ich komme nicht darauf. Diese Funktion rufe ich einfach auf in einer Console. Doch dann kommt immer eine Fehlermeldung:console.exe hat ein Problem festgestellt und muss beendet werden.
void GetSystemDirectoryExample() { LPTSTR lpBuffer; UINT uSize; GetSystemDirectory(lpBuffer, uSize); cout<<lpBuffer<<endl; }Ich weiß nicht weiter... Habe schon probiert an den Datentypen herumzubasteln^^
Z.B. einfach "LPTSTR" durch ein "char" ersetzt und dann einfach ein Referenzzeichen bei dem Parameter mit angegeben, aber das hat es nicht gebracht
Hoffe ihr könnt mir helfen.
Gruß Speedy_92
-
Hallo
Du must für dem Pointer lpBuffer erstmal speicher reservieren. Und dir Größe dieses Speichers übergibst du dann als uSize.
bis bald
akari
-
Entschuldigung, wenn ich das jetzt frage, aber wie mache ich das???
Könnte mir vielleicht jemand ein Beispiel geben?
Also ich habe es mit Pointergefrickel versucht, bin aber nicht darauf gekommen

Ich habe es jetzt so probiert:
char *lpBuffer = new char; *lpBuffer = sizeof(char); unsigned int uSize = *lpBuffer;Aber wenn ich lpBuffer ausgeben lasse auf der Console kommt irgendwie ein Zeichen, das aussieht wie ein Smilie

-
Hallo
void GetSystemDirectoryExample() { UINT uSize = 100; LPTSTR lpBuffer = new char[uSize]; // Ich glaube TCHAR ist der entsprechende WinAPI-Typdef GetSystemDirectory(lpBuffer, uSize); cout<<lpBuffer<<endl; delete[] lpBuffer; }bis bald
akari
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Dankeschön erst einmal.
Hätte allerdings eine klitzekleine Frage noch.
In dieser Zeile:UINT uSize = 100; LPTSTR lpBuffer = new char[uSize];Wird dort ein Speicherbereich von 100 Byte reserviert??? Oder eine andere Größe???
-
Hallo
Es wird ein Speicherbereich für 100 chars reserviert. Ein char muß nicht 1 Byte entsprechen (ist aber meistens der Fall).
bis bald
akari