<?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[Pfad zur Exe]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte den Pfad zur Ausgeführten *.exe Datei haben allerdings <strong>ohne</strong><br />
den namen der Exe selbst. Also nur den Ordner in dem sie steht.</p>
<p>Ich habe schon eine Funktion gefunden die mir den Pfad inklusive des Daterinamens liefert.</p>
<pre><code class="language-cpp">TCHAR  pfad_zur_exe[252];
GetModuleFileName(NULL,pfad_zur_exe,250);
</code></pre>
<p>Dies liefert mir:<br />
c:\testordner\test.exe</p>
<p>Ich brauche aber<br />
c:\testordner</p>
<p>Gibt es eine fertige Funktion, die dies macht, oder wie kann ich den Namen der Datei hinten abschneiden?</p>
<p>Ich habe hier im Forum auch schon diese Seite gefunden:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39131.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-39131.html</a></p>
<p>allerdings schaffe ich es nicht dies bei TCHAR umzusetzen.<br />
(Ich brauche den Pfad als TCHAR)</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/221211/pfad-zur-exe</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 04:12:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/221211.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 26 Aug 2008 13:06:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Pfad zur Exe on Tue, 26 Aug 2008 13:06:04 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte den Pfad zur Ausgeführten *.exe Datei haben allerdings <strong>ohne</strong><br />
den namen der Exe selbst. Also nur den Ordner in dem sie steht.</p>
<p>Ich habe schon eine Funktion gefunden die mir den Pfad inklusive des Daterinamens liefert.</p>
<pre><code class="language-cpp">TCHAR  pfad_zur_exe[252];
GetModuleFileName(NULL,pfad_zur_exe,250);
</code></pre>
<p>Dies liefert mir:<br />
c:\testordner\test.exe</p>
<p>Ich brauche aber<br />
c:\testordner</p>
<p>Gibt es eine fertige Funktion, die dies macht, oder wie kann ich den Namen der Datei hinten abschneiden?</p>
<p>Ich habe hier im Forum auch schon diese Seite gefunden:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39131.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-39131.html</a></p>
<p>allerdings schaffe ich es nicht dies bei TCHAR umzusetzen.<br />
(Ich brauche den Pfad als TCHAR)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1571695</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1571695</guid><dc:creator><![CDATA[MisterX]]></dc:creator><pubDate>Tue, 26 Aug 2008 13:06:04 GMT</pubDate></item><item><title><![CDATA[Reply to Pfad zur Exe on Tue, 26 Aug 2008 13:15:48 GMT]]></title><description><![CDATA[<p><a href="http://www.mpdvc.de/html.htm#Q13" rel="nofollow">http://www.mpdvc.de/html.htm#Q13</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1571700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1571700</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 26 Aug 2008 13:15:48 GMT</pubDate></item><item><title><![CDATA[Reply to Pfad zur Exe on Tue, 26 Aug 2008 13:29:11 GMT]]></title><description><![CDATA[<p>Danke,</p>
<p>aber ich habe eine einfachere Lösung gefunden.</p>
<pre><code class="language-cpp">GetCurrentDirectory(250,pfad_zur_exe);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1571712</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1571712</guid><dc:creator><![CDATA[MisterX]]></dc:creator><pubDate>Tue, 26 Aug 2008 13:29:11 GMT</pubDate></item><item><title><![CDATA[Reply to Pfad zur Exe on Tue, 26 Aug 2008 13:38:25 GMT]]></title><description><![CDATA[<p>Falsch! Das Current working directory ist nicht unbedingt das Verzeichnis in dem die EXE liegt. Es kann separat festgelegt werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1571725</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1571725</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 26 Aug 2008 13:38:25 GMT</pubDate></item><item><title><![CDATA[Reply to Pfad zur Exe on Tue, 26 Aug 2008 15:19:26 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">char	*guggstdu;

	guggstdu = strrchr(pfad_zur_exe, '\\');
	if(guggstdu){
		*guggstdu = 0;
	}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1571790</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1571790</guid><dc:creator><![CDATA[*guggstdu]]></dc:creator><pubDate>Tue, 26 Aug 2008 15:19:26 GMT</pubDate></item><item><title><![CDATA[Reply to Pfad zur Exe on Tue, 26 Aug 2008 18:51:18 GMT]]></title><description><![CDATA[<p>*guggstdu schrieb:</p>
<blockquote>
<pre><code class="language-cpp">char	*guggstdu;

	guggstdu = strrchr(pfad_zur_exe, '\\');
	if(guggstdu){
		*guggstdu = 0;
	}
</code></pre>
</blockquote>
<p>Danke &quot;guggstdu&quot; und &quot;Martin Richter&quot; !</p>
<p>Ich habe es noch ein wenig abgeändert und jetzt funzt es:</p>
<pre><code class="language-cpp">TCHAR  pfad_zur_exe[258];

GetModuleFileName(NULL,pfad_zur_exe,250); 
		wchar_t* pointer=wcsrchr(pfad_zur_exe, '\\');
		*pointer=0x0000;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1571876</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1571876</guid><dc:creator><![CDATA[MisterX]]></dc:creator><pubDate>Tue, 26 Aug 2008 18:51:18 GMT</pubDate></item><item><title><![CDATA[Reply to Pfad zur Exe on Tue, 26 Aug 2008 19:33:17 GMT]]></title><description><![CDATA[<blockquote>
<p>*pointer=0x0000;</p>
</blockquote>
<p>Wäre nicht</p>
<pre><code class="language-cpp">*pointer=(TCHAR) 0;
</code></pre>
<p>sicherer?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1571895</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1571895</guid><dc:creator><![CDATA[Andreas XXL]]></dc:creator><pubDate>Tue, 26 Aug 2008 19:33:17 GMT</pubDate></item><item><title><![CDATA[Reply to Pfad zur Exe on Tue, 26 Aug 2008 19:57:57 GMT]]></title><description><![CDATA[<p>ROFL<br />
Sorry <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Ob man 0 als 0 oder 0x0000 schreibt, und ob man es nachträglich noch auf TCHAR oder was auch immer castet ist in dem Fall ganz egal.<br />
Bei der Zuweisung wird es doch sowieso in den passenden Typ verwandelt.<br />
Du kannst auch genausogut &quot;*pointer = false;&quot; schreiben, was zwar komplett dämlich wäre aber im Endeffekt genau dasselbe macht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1571905</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1571905</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 26 Aug 2008 19:57:57 GMT</pubDate></item><item><title><![CDATA[Reply to Pfad zur Exe on Tue, 26 Aug 2008 20:44:52 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>ROFL<br />
Sorry <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Ob man 0 als 0 oder 0x0000 schreibt, und ob man es nachträglich noch auf TCHAR oder was auch immer castet ist in dem Fall ganz egal.<br />
Bei der Zuweisung wird es doch sowieso in den passenden Typ verwandelt.<br />
Du kannst auch genausogut &quot;*pointer = false;&quot; schreiben, was zwar komplett dämlich wäre aber im Endeffekt genau dasselbe macht.</p>
</blockquote>
<p>&quot;Your applications should always cast zero to TCHAR when using null-terminated strings&quot;</p>
<p><a href="http://msdn.microsoft.com/en-us/library/ms776431(VS.85).aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/ms776431(VS.85).aspx</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1571937</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1571937</guid><dc:creator><![CDATA[Andreas XXL]]></dc:creator><pubDate>Tue, 26 Aug 2008 20:44:52 GMT</pubDate></item><item><title><![CDATA[Reply to Pfad zur Exe on Wed, 27 Aug 2008 01:53:04 GMT]]></title><description><![CDATA[<p>OK. Trifft auf den Fall aber nicht zu. Sorry, ist so.<br />
Du schreibst ja wohl hoffentlich auch nicht</p>
<pre><code class="language-cpp">size_t s = (size_t) 0;
char c = (char) 0;
long l = (long) 0;
</code></pre>
<p>oder?</p>
<p>Die Sache sieht anders aus wenn der Typ des Literals wichtig ist, also z.B. hier:</p>
<pre><code class="language-cpp">CString str;
str += TCHAR(0);
</code></pre>
<p>Hier macht der Cast Sinn.<br />
(EDIT: abgesehen davon dass man einen CString nicht selbst null-terminieren muss und sogesehen das alles keinen Sinn macht, aber denk dir einfach eine 32 statt der 0 wenn dich das stört /EDIT)</p>
<p>Ich hoffe du erkennst den Unterschied.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1571980</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1571980</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 27 Aug 2008 01:53:04 GMT</pubDate></item><item><title><![CDATA[Reply to Pfad zur Exe on Wed, 27 Aug 2008 08:23:21 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">str += TEXT('\0');
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1572063</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1572063</guid><dc:creator><![CDATA[+=]]></dc:creator><pubDate>Wed, 27 Aug 2008 08:23:21 GMT</pubDate></item><item><title><![CDATA[Reply to Pfad zur Exe on Wed, 27 Aug 2008 11:37:04 GMT]]></title><description><![CDATA[<p>+= schrieb:</p>
<blockquote>
<pre><code class="language-cpp">str += TEXT('\0');
</code></pre>
</blockquote>
<p>Genau so mache ich es auch.</p>
<p>Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1572158</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1572158</guid><dc:creator><![CDATA[Mmacher]]></dc:creator><pubDate>Wed, 27 Aug 2008 11:37:04 GMT</pubDate></item><item><title><![CDATA[Reply to Pfad zur Exe on Wed, 27 Aug 2008 11:49:27 GMT]]></title><description><![CDATA[<p>Benutzt ihr nicht _T() statt TEXT()? Ich finde TEXT nimmt so viel sinnlosen Platz weg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1572165</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1572165</guid><dc:creator><![CDATA[_T()]]></dc:creator><pubDate>Wed, 27 Aug 2008 11:49:27 GMT</pubDate></item></channel></rss>