Heim > Backend-Entwicklung > C++ > Wie kann ich das Laufverzeichnis eines Programms unter Windows und Linux ermitteln?

Wie kann ich das Laufverzeichnis eines Programms unter Windows und Linux ermitteln?

Patricia Arquette
Freigeben: 2024-12-21 15:45:09
Original
282 Leute haben es durchsucht

How Can I Determine a Program's Running Directory on Windows and Linux?

Ermitteln des laufenden Verzeichnisses des Programms

Um den vollständigen Pfad des Verzeichnisses abzurufen, in dem ein Programm ausgeführt wird, können verschiedene plattformspezifische Methoden verwendet werden beschäftigt sein. Hier sind zwei gängige Ansätze:

Windows:

Windows bietet die Funktion „GetModuleFileName“, die den vollständigen Pfad des ausführenden Programms zurückgibt. Um dies zu nutzen, können Sie einen Zeichenpuffer (char pBuf[256]) deklarieren, um den Pfad und seine Länge zu speichern (size_t len ​​= sizeof(pBuf)). Rufen Sie dann GetModuleFileName auf und übergeben Sie NULL als Modulhandle und die Pufferadresse als zweiten Parameter. Die Funktion gibt die Länge des Pfads in Zeichen zurück.

Linux:

Unter Linux können Sie die Readlink-Funktion verwenden. Es akzeptiert den Pfad /proc/self/exe als Quelle und eine Pufferadresse als Ziel. Der Rückgabewert ist die Anzahl der in den Puffer geschriebenen Bytes, die kleiner als seine Länge (len - 1) sein muss. Denken Sie daran, nach dem Schreiben in den Puffer ein Null-Terminator anzuhängen.

Dieser Ansatz ist nicht plattform- oder dateisystemunabhängig. Es bietet jedoch eine Lösung für bestimmte Plattformen und Dateisysteme und ist daher für verschiedene Szenarien wertvoll.

Das obige ist der detaillierte Inhalt vonWie kann ich das Laufverzeichnis eines Programms unter Windows und Linux ermitteln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage