GetSystemDirectory
-
Kann mir vllt einer mit "GetSystemDirectory" helfen?
Das habe ich bereits:#include <iostream> #include <Windows.h> using namespace std; int main(int argc, char *argv[]) { unsigned char lpBuffer[255]; GetSystemDirectory((LPWSTR) lpBuffer, sizeof(lpBuffer)); cout << lpBuffer << endl; system("PAUSE"); }Ich bekomme leider immer nur den ersten Buchstaben raus.
Hab schon alles ausprobiert aber weiß nich wie ich es machen soll.
-
So gehts:
( Frag nächstes mal im anderen Foren Bereichen [ WIN API ] das hat mit standard C++ nichts zu tun )
GetSystemDirectory erklärt: http://msdn.microsoft.com/en-us/library/ms724373(VS.85).aspx
#include <windows> #include <iostream> using namespace std; int main() { char buf[256]; UINT uSize = sizeof(buf); GetSystemDirectory( buf, uSize ); cout<<buf; system("PAUSE"); return 0; }
-
@Unknown Freak:
Das Problem ist die Mischung von Unicode und Mutlibyte Strings.
Mit einem Cast nach LPWSTR löst Du nicht das Problem, sondern "unterdrückst" einfach die Fehlermeldung.TCHAR dir[MAX_PATH] = { }; GetSystemDirectory(dir, MAX_PATH); // Falls Unicode: std::wcout << dir << std::endl; // Falls Multibyte: std::cout << dir << std::endl;
-
Danke, hat geklappt, aber wie kann ich das ganze jetzt in eine Datei schreiben mit fstream und nicht mit wcout ausgeben.
-
Google doch danach... benutze einen std::wofstream bzw. einen std::ofstream.
-
Dieser Thread wurde von Moderator/in pumuckl 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.
-
theta schrieb:
Google doch danach... benutze einen std::wofstream bzw. einen std::ofstream.
std::basic_ofstream<TCHAR>