<?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[Aktueller Pfad ist falsch]]></title><description><![CDATA[<p>Hallo,<br />
über folgende Codezeilen lasse ich mein Prog den Aktuellen Pfad bestimmen, damit es hier ein INI File öffnet.</p>
<pre><code class="language-cpp">// Get Current Direcctory
    char *direkt = new char[500];
    int laenge = GetCurrentDirectory(499,direkt);
    direkt[laenge] = NULL;
    direktory.Format(&quot;%s&quot;,direkt);
</code></pre>
<p>Solange ich das Prog direkt mit der .exe in seinem Verzeichnis starte, läuft alles Reibungslos. Starte ich nun das Prog aus einem Access Formular heraus(die DB befindet sich im selben Verzeichnis wie die Prog .exe, dann kann mein INI FIle nicht gelesen werden, da der Aktuelle Pfad nun plötzlich auf 'MyDocuments' verweist. Woran liegt das und wie kann ich das reparieren?</p>
<p>Teddy</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/5633/aktueller-pfad-ist-falsch</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Apr 2026 01:32:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/5633.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 30 Apr 2003 13:10:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Aktueller Pfad ist falsch on Wed, 30 Apr 2003 13:10:00 GMT]]></title><description><![CDATA[<p>Hallo,<br />
über folgende Codezeilen lasse ich mein Prog den Aktuellen Pfad bestimmen, damit es hier ein INI File öffnet.</p>
<pre><code class="language-cpp">// Get Current Direcctory
    char *direkt = new char[500];
    int laenge = GetCurrentDirectory(499,direkt);
    direkt[laenge] = NULL;
    direktory.Format(&quot;%s&quot;,direkt);
</code></pre>
<p>Solange ich das Prog direkt mit der .exe in seinem Verzeichnis starte, läuft alles Reibungslos. Starte ich nun das Prog aus einem Access Formular heraus(die DB befindet sich im selben Verzeichnis wie die Prog .exe, dann kann mein INI FIle nicht gelesen werden, da der Aktuelle Pfad nun plötzlich auf 'MyDocuments' verweist. Woran liegt das und wie kann ich das reparieren?</p>
<p>Teddy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/27426</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/27426</guid><dc:creator><![CDATA[Teddy]]></dc:creator><pubDate>Wed, 30 Apr 2003 13:10:00 GMT</pubDate></item><item><title><![CDATA[Reply to Aktueller Pfad ist falsch on Wed, 30 Apr 2003 13:29:00 GMT]]></title><description><![CDATA[<p>In den FAQ gibt's einen Beitrag zum Thema Programmpfad erhalten.</p>
<p>MfG<br />
Happosai</p>
]]></description><link>https://www.c-plusplus.net/forum/post/27427</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/27427</guid><dc:creator><![CDATA[Sanji]]></dc:creator><pubDate>Wed, 30 Apr 2003 13:29:00 GMT</pubDate></item><item><title><![CDATA[Reply to Aktueller Pfad ist falsch on Wed, 30 Apr 2003 13:33:00 GMT]]></title><description><![CDATA[<p>Der Beitrag in der FAQ hilft da auch nicht viel weiter, da ich ja wie gesagt keine Probleme habe, den Pfad zu bekommen. Nur wenn ich das Prog SecondHand starte, dann erhalte ich falsche Pfadangaben.</p>
<p>Außerdem erhält man durch den Code der FAQ:</p>
<pre><code class="language-cpp">char buf[256];
    GetModuleFileName(NULL, buf, 255);
    CString strPfad;
    direktory.Format(&quot;%s&quot;, buf);
    int nTmp = direktory.Find('\\');
    direktory.Delete(nTmp,strPfad.GetLength()-nTmp);
</code></pre>
<p>die komplette CommandLine incl. des Prog-Namens. Diesen brauch ich aber nicht und er lässt sich auch nicht so einfach entfernen. Dies würde, zb. ein verschieben der Verzeichnisse nicht Standhalten und ich will nicht jedesmal, wenn ich es auf einem anderen Rechner installier, den Code ändern.</p>
<p>Das ersetzen der letzen Code-Zeile durch:</p>
<pre><code class="language-cpp">direktory = direktory.Mid(1, nTmp);
</code></pre>
<p>zum Abtrennen des Prog-Namens führt dazu, dass auch der Laufwerksbuchstabe aus dem CString verschwindet mit dem Erfolg, dass die INI-Files weiterhin nicht gefunden werden.</p>
<p>[ Dieser Beitrag wurde am 30.04.2003 um 15:47 Uhr von <strong>Teddy</strong> editiert. ]</p>
<p>[ Dieser Beitrag wurde am 30.04.2003 um 16:02 Uhr von <strong>Teddy</strong> editiert. ]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/27428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/27428</guid><dc:creator><![CDATA[Teddy]]></dc:creator><pubDate>Wed, 30 Apr 2003 13:33:00 GMT</pubDate></item><item><title><![CDATA[Reply to Aktueller Pfad ist falsch on Wed, 30 Apr 2003 14:55:00 GMT]]></title><description><![CDATA[<p>Also wenn Du mit dem Code der FAQ 'GetModuleFileName' die komplette Kommandozeile erhälst, dann empfehle ich Dir, Dein Betriebssystem wegzuschmeissen, da dieser Effekt sicherlich bei noch niemandem aufgetreten ist!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/27429</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/27429</guid><dc:creator><![CDATA[RenéG]]></dc:creator><pubDate>Wed, 30 Apr 2003 14:55:00 GMT</pubDate></item><item><title><![CDATA[Reply to Aktueller Pfad ist falsch on Thu, 01 May 2003 00:16:00 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">CString temp(GetCommandLine());
    MessageBox(temp,temp,NULL);

    // Nur mit CString als möglichkeit
    int foundat = 0;
    int lastFoundAt = 0;
    do
    {
        foundat = temp.Find('\\',foundat);
        if(foundat == -1)
            break;
        lastFoundAt = foundat++;
    }
    while(foundat != -1);

    if(lastFoundAt != 0)
        temp.Delete(lastFoundAt,temp.GetLength()-lastFoundAt);

    // Ergebnis ausgeben
    MessageBox(temp,temp,NULL);

    // Möglichkeit mit hilfe des std::string
    std::string help(static_cast&lt;LPCSTR&gt;(GetCommandLine()));
    CString temp2;
    std::string::size_type pos = 0;
    pos = help.find_last_of('\\');
    if(pos != std::string::npos)
        temp2.Format(&quot;%s&quot;,help.substr(0,pos).c_str());

    MessageBox(temp2,temp2,NULL);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/27430</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/27430</guid><dc:creator><![CDATA[Knuddlbaer]]></dc:creator><pubDate>Thu, 01 May 2003 00:16:00 GMT</pubDate></item><item><title><![CDATA[Reply to Aktueller Pfad ist falsch on Thu, 01 May 2003 08:44:00 GMT]]></title><description><![CDATA[<p>ich geb dir noch einen tipp: nehm in deinem programm als bezeichner keine mischbegriffe aus deutsch und englisch wie direktory.bei einem größeren projekt mit vielen Bezeichnern kommst du da ganz schnell total durcheinander, vor allem wenn andere Leute deinen Code auch noch verstehen wollen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/27431</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/27431</guid><dc:creator><![CDATA[phippse@voll]]></dc:creator><pubDate>Thu, 01 May 2003 08:44:00 GMT</pubDate></item><item><title><![CDATA[Reply to Aktueller Pfad ist falsch on Fri, 02 May 2003 06:40:00 GMT]]></title><description><![CDATA[<p>@Knuddelbaer<br />
1. Für Deine 1. Methode gibts die Funktion CString::ReverseFind!<br />
2. Deine Methode ist nicht einsetzbar, wenn das Programm als Parameter einen Pfad erwartet!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/27432</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/27432</guid><dc:creator><![CDATA[RenéG]]></dc:creator><pubDate>Fri, 02 May 2003 06:40:00 GMT</pubDate></item><item><title><![CDATA[Reply to Aktueller Pfad ist falsch on Fri, 02 May 2003 10:13:00 GMT]]></title><description><![CDATA[<p>@Rene</p>
<p>Irgendwie hab ich das schon vermisst, nur nicht gefunden O<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /> Aaaaaber da steht es ja nun <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>Zu 2. Irgendwie ignoriert das es sich um GetModuleFileName handelt. Hab so viel Commandline gelesen in letzter Zeit... Habs da gedanklich eingebaut. Und da steht nu ma der Programmpfad mit Name der Anwendung drinne O<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/27433</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/27433</guid><dc:creator><![CDATA[Knuddlbaer]]></dc:creator><pubDate>Fri, 02 May 2003 10:13:00 GMT</pubDate></item></channel></rss>