<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Programmpfad extrahieren]]></title><description><![CDATA[<p>Ich kann es nicht glauben! Ich habe jetzt gerade 20 min im Netz gesucht um eine Standardlösung zu finden - ohne Erfolg.</p>
<p>Deshalb: <strong>Wie extrahiere ich aus argv[0] den Pfad?</strong></p>
<p>Ich möchte in meinem Programm dafür sorgen, dass alle Dateinamen immer mit dem korrekten Pfad aufgerufen werden. Dazu brauch ich den Pfad meiner Anwendung.<br />
In Delphi hieße die Lösung:</p>
<pre><code>ExtractFilePath( ParamStr(0) )
</code></pre>
<p>Bitte gebt mir eine Vergleichbare Funktion dazu in C! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/122545/programmpfad-extrahieren</link><generator>RSS for Node</generator><lastBuildDate>Sun, 23 Aug 2026 07:17:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/122545.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 06 Oct 2005 20:11:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Programmpfad extrahieren on Thu, 06 Oct 2005 20:11:56 GMT]]></title><description><![CDATA[<p>Ich kann es nicht glauben! Ich habe jetzt gerade 20 min im Netz gesucht um eine Standardlösung zu finden - ohne Erfolg.</p>
<p>Deshalb: <strong>Wie extrahiere ich aus argv[0] den Pfad?</strong></p>
<p>Ich möchte in meinem Programm dafür sorgen, dass alle Dateinamen immer mit dem korrekten Pfad aufgerufen werden. Dazu brauch ich den Pfad meiner Anwendung.<br />
In Delphi hieße die Lösung:</p>
<pre><code>ExtractFilePath( ParamStr(0) )
</code></pre>
<p>Bitte gebt mir eine Vergleichbare Funktion dazu in C! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/886717</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886717</guid><dc:creator><![CDATA[KFlash]]></dc:creator><pubDate>Thu, 06 Oct 2005 20:11:56 GMT</pubDate></item><item><title><![CDATA[Reply to Programmpfad extrahieren on Thu, 06 Oct 2005 20:13:02 GMT]]></title><description><![CDATA[<p><strong>Du kannst dich nicht darauf verlassen das in argv[0] überhaupt ein Pfad drinsteht.</strong></p>
]]></description><link>https://www.c-plusplus.net/forum/post/886718</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886718</guid><dc:creator><![CDATA[hahahahahaha]]></dc:creator><pubDate>Thu, 06 Oct 2005 20:13:02 GMT</pubDate></item><item><title><![CDATA[Reply to Programmpfad extrahieren on Thu, 06 Oct 2005 20:16:51 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>du kannst das Char-Array argv[0] ja an ein std::string übergeben und mit dessen Methoden weiterbearbeiten.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886719</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886719</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 06 Oct 2005 20:16:51 GMT</pubDate></item><item><title><![CDATA[Reply to Programmpfad extrahieren on Thu, 06 Oct 2005 20:29:40 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> Wieso kann ich nicht davon ausgehen, dass da ein Pfad drinnen steht? Was is denn das fürn Mist!? (Das Programm soll vorerst unter Windows laufen)</p>
<p>In C muss man anscheinend nicht nur das Fahrrad neu erfinden, sondern das Rad ansich... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
<p>Gibts denn keine fertige Funktion für sowas...?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886723</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886723</guid><dc:creator><![CDATA[KFlash]]></dc:creator><pubDate>Thu, 06 Oct 2005 20:29:40 GMT</pubDate></item><item><title><![CDATA[Reply to Programmpfad extrahieren on Thu, 06 Oct 2005 20:35:21 GMT]]></title><description><![CDATA[<p>Hallo</p>
<blockquote>
<p>In C muss man anscheinend nicht nur das Fahrrad neu erfinden, sondern das Rad ansich...<br />
Gibts denn keine fertige Funktion für sowas...?</p>
</blockquote>
<p>Deshalb sollst du ja auch C++ verwenden.<br />
Mit std::string ist das ein zweizeiler, da du nur nach nem Backslash suchen mußt.<br />
Kannst dir also deine Funktion selber bauen.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886725</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886725</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 06 Oct 2005 20:35:21 GMT</pubDate></item><item><title><![CDATA[Reply to Programmpfad extrahieren on Thu, 06 Oct 2005 20:37:32 GMT]]></title><description><![CDATA[<p>Den Pfad des Programms zu ermitteln ist mit Standard C bzw. C++ nicht möglich. Du musst dann die WinAPI benutzen (GetModuleFileName).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886726</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886726</guid><dc:creator><![CDATA[hahahahahaha]]></dc:creator><pubDate>Thu, 06 Oct 2005 20:37:32 GMT</pubDate></item><item><title><![CDATA[Reply to Programmpfad extrahieren on Thu, 06 Oct 2005 20:39:17 GMT]]></title><description><![CDATA[<p>Öhm sorry das ich da undeutlich war...Ich arbeite natürlich mit C++ (das is für mich als Delphifritzen das selbe... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> )</p>
<p>Hmmm...kannst du mir den 2Zeiler mal zeigen... Bevor ich die halbe Nacht an so ner Lapalie hänge... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/886727</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886727</guid><dc:creator><![CDATA[KFlash]]></dc:creator><pubDate>Thu, 06 Oct 2005 20:39:17 GMT</pubDate></item><item><title><![CDATA[Reply to Programmpfad extrahieren on Thu, 06 Oct 2005 20:39:31 GMT]]></title><description><![CDATA[<p>In Delphi kannste dich auch nicht darauf verlassen! Es kommt drauf an wie das Programm aufgerufen wird. Gehst du über die Konsole in das Programmverzeichnis und startest dann die EXE steht nur der Name der EXE in argv[0].</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886728</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886728</guid><dc:creator><![CDATA[hahahahahaha]]></dc:creator><pubDate>Thu, 06 Oct 2005 20:39:31 GMT</pubDate></item><item><title><![CDATA[Reply to Programmpfad extrahieren on Thu, 06 Oct 2005 20:42:22 GMT]]></title><description><![CDATA[<p>Unter welchen umständen enthält argv[0] denn keine Pfadangabe? Eventuell kann ich das ausschließen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886730</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886730</guid><dc:creator><![CDATA[KFlash]]></dc:creator><pubDate>Thu, 06 Oct 2005 20:42:22 GMT</pubDate></item><item><title><![CDATA[Reply to Programmpfad extrahieren on Thu, 06 Oct 2005 20:43:20 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Unsinn.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

int main(int argc, char* argv[])
{
        std::cout &lt;&lt; argv[0] &lt;&lt; std::endl;
        system(&quot;pause&quot;);
        return 0;
}
</code></pre>
<p>gibt mir unter Windows den komplett Pfad aus.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886732</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 06 Oct 2005 20:43:20 GMT</pubDate></item><item><title><![CDATA[Reply to Programmpfad extrahieren on Thu, 06 Oct 2005 20:43:29 GMT]]></title><description><![CDATA[<p>Wie wärsn mit</p>
<pre><code class="language-cpp">char *path = argv[0];
char *end = path+strlen(path)-1; // ende des strings
while (--end != '\\' &amp;&amp; end &gt; path) // den letzten \ suchen
  continue;
end = 0; // neues string ende definieren
</code></pre>
<p>Alternativ sollte man vllt statt argv[0] die Funktion GetModuleFileName(NULL, lpStr, MAX_PATH) nehmen (vorher halt char lpStr[MAX_PATH]).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886733</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886733</guid><dc:creator><![CDATA[M [Gast]]]></dc:creator><pubDate>Thu, 06 Oct 2005 20:43:29 GMT</pubDate></item><item><title><![CDATA[Reply to Programmpfad extrahieren on Thu, 06 Oct 2005 20:45:36 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">str.substr(str.rfind('\\') + 1);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/886735</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886735</guid><dc:creator><![CDATA[joo]]></dc:creator><pubDate>Thu, 06 Oct 2005 20:45:36 GMT</pubDate></item><item><title><![CDATA[Reply to Programmpfad extrahieren on Thu, 06 Oct 2005 20:49:27 GMT]]></title><description><![CDATA[<p>akari starte das Programm aus der Konsole und du wirst sehen das es kein Unsinn ist was ich geschrieben hab.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886737</guid><dc:creator><![CDATA[hahahahahahhaha]]></dc:creator><pubDate>Thu, 06 Oct 2005 20:49:27 GMT</pubDate></item><item><title><![CDATA[Reply to Programmpfad extrahieren on Thu, 06 Oct 2005 20:51:37 GMT]]></title><description><![CDATA[<p>Danke für die Antworten. Vorallem letztere Lösung is mir symphatisch (weil kurz <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> )</p>
<p>@hahaha... : Möchte mal wissen woher du deine Aussagen beziehst... Ich hab das mit Delphi gerade getestet und egal von wo ich das aufrufe überall grig ich den Pfad. Schätze das ist in C dann genauso. Das sind wohl gerüchte aus DOS Zeiten...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886738</guid><dc:creator><![CDATA[KFlash]]></dc:creator><pubDate>Thu, 06 Oct 2005 20:51:37 GMT</pubDate></item><item><title><![CDATA[Reply to Programmpfad extrahieren on Thu, 06 Oct 2005 20:54:03 GMT]]></title><description><![CDATA[<p>kann sein das delphi da noch was anderes macht im hintergrund. (hab kein delphi)</p>
<p>aber ich habe gerade akari's programm ausprobiert und es gibt nicht den vollständigen pfad aus wenn man es aus der konsole raus startet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886740</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886740</guid><dc:creator><![CDATA[hahahahahahhaha]]></dc:creator><pubDate>Thu, 06 Oct 2005 20:54:03 GMT</pubDate></item><item><title><![CDATA[Reply to Programmpfad extrahieren on Thu, 06 Oct 2005 20:57:58 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>@ hahahahahahhaha<br />
also bei mir (Win2000, BCB5) wird auch beim Ausruf der Konsole der vollständige Pfad angezeigt.</p>
<pre><code>D:\SoftDev\Test\Pathtest&gt;project1.exe
D:\SoftDev\Test\Pathtest\Project1.exe
Drücken Sie eine beliebige Taste . . .

D:\SoftDev\Test\Pathtest&gt;cd..

D:\SoftDev\Test&gt;pathtest\project1.exe
D:\SoftDev\Test\pathtest\Project1.exe
Drücken Sie eine beliebige Taste . . .
</code></pre>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886741</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886741</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 06 Oct 2005 20:57:58 GMT</pubDate></item><item><title><![CDATA[Reply to Programmpfad extrahieren on Thu, 06 Oct 2005 20:58:38 GMT]]></title><description><![CDATA[<p>Ich hab das gerade getestet und muss hahahaha da recht geben... Seltsam... anscheinend ruft delphi selbständig die Windowsapi auf...</p>
<p>EDIT: Windows XP + GCC</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886743</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886743</guid><dc:creator><![CDATA[KFlash]]></dc:creator><pubDate>Thu, 06 Oct 2005 20:58:38 GMT</pubDate></item><item><title><![CDATA[Reply to Programmpfad extrahieren on Thu, 06 Oct 2005 20:57:12 GMT]]></title><description><![CDATA[<p>ok dann liegt es wohl daran das ich windows xp und visual c++ benutze. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>also macht was ihr wollt, aber verlasst euch nicht drauf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886744</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886744</guid><dc:creator><![CDATA[hahahahahahhaha]]></dc:creator><pubDate>Thu, 06 Oct 2005 20:57:12 GMT</pubDate></item><item><title><![CDATA[Reply to Programmpfad extrahieren on Thu, 06 Oct 2005 20:59:17 GMT]]></title><description><![CDATA[<p>@hahahah: Wie sieht dein Standardcode für diesen Fall aus?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886745</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886745</guid><dc:creator><![CDATA[KFlash]]></dc:creator><pubDate>Thu, 06 Oct 2005 20:59:17 GMT</pubDate></item><item><title><![CDATA[Reply to Programmpfad extrahieren on Thu, 06 Oct 2005 20:59:46 GMT]]></title><description><![CDATA[<p>akari, wechsel erstmal mit &quot;cd&quot; ins verzeichnis SoftDev\Test\Pathtest und ruf dann project1.exe auf.</p>
<p>mein screenshot: <a href="http://putfile.com/pic.php?pic=10/27815580132.png&amp;s=x7" rel="nofollow">http://putfile.com/pic.php?pic=10/27815580132.png&amp;s=x7</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/886746</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886746</guid><dc:creator><![CDATA[hahahhahahahah]]></dc:creator><pubDate>Thu, 06 Oct 2005 20:59:46 GMT</pubDate></item><item><title><![CDATA[Reply to Programmpfad extrahieren on Thu, 06 Oct 2005 21:01:15 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>ich hab meine Ausgabe bereits in meinen vorherigen Post editiert.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886747</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886747</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 06 Oct 2005 21:01:15 GMT</pubDate></item><item><title><![CDATA[Reply to Programmpfad extrahieren on Thu, 06 Oct 2005 21:03:44 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;windows.h&gt;
#include &lt;iostream&gt;
#include &lt;string&gt;

int main()
{
	TCHAR fullPath[MAX_PATH];
	GetModuleFileName(NULL, fullPath, MAX_PATH);

	std::string str(fullPath);
	std::cout &lt;&lt; str.substr(0, str.rfind('\\') + 1) &lt;&lt; std::endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/886749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886749</guid><dc:creator><![CDATA[standardcode.]]></dc:creator><pubDate>Thu, 06 Oct 2005 21:03:44 GMT</pubDate></item><item><title><![CDATA[Reply to Programmpfad extrahieren on Thu, 06 Oct 2005 21:26:45 GMT]]></title><description><![CDATA[<p>Danke...das könnte funktioniere...</p>
<p>Ich arbeite mit SDL und musste gerade feststellen, dass es wohl selbst dort keine Plattformunabhängige Methode gibt... Ich find das ziemlich be******en. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
<p>Danke euch</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886762</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886762</guid><dc:creator><![CDATA[KFlash]]></dc:creator><pubDate>Thu, 06 Oct 2005 21:26:45 GMT</pubDate></item><item><title><![CDATA[Reply to Programmpfad extrahieren on Thu, 06 Oct 2005 21:28:38 GMT]]></title><description><![CDATA[<p>das hätte in der SDL auch nix zu suchen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886764</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886764</guid><dc:creator><![CDATA[sdl]]></dc:creator><pubDate>Thu, 06 Oct 2005 21:28:38 GMT</pubDate></item><item><title><![CDATA[Reply to Programmpfad extrahieren on Thu, 06 Oct 2005 21:43:57 GMT]]></title><description><![CDATA[<p>Das seh ich anders. SDL bietet ja mit RWops auch Filehandler an. Damit zeigt man ja quasi, das man mit Filesystemen arbeiten kann. Wieso also nicht sowas mit anbietet?</p>
<p>SDL soll ja die Plattform für X-Plattform entwicklung sein. Da gehören nunmal solche sachen mit dazu...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886769</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886769</guid><dc:creator><![CDATA[KFlash]]></dc:creator><pubDate>Thu, 06 Oct 2005 21:43:57 GMT</pubDate></item><item><title><![CDATA[Reply to Programmpfad extrahieren on Thu, 06 Oct 2005 22:24:27 GMT]]></title><description><![CDATA[<p>Ich hatte schon mal in einem anderen Thread, wo du das gleiche Problem hattest, empfohlen boost::filesystem zu benutzen. Das wäre ein Einzeiler!!! Aber wer nicht hört, muß fühlen! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/886779</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886779</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Thu, 06 Oct 2005 22:24:27 GMT</pubDate></item></channel></rss>