<?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[CFile schmiert ab]]></title><description><![CDATA[<p>Einer meiner Dialog schmiert immer dann ab, wenn ich CFile mit<br />
einer Variable nutzen möchte:</p>
<pre><code class="language-cpp">CString droplist = GetCommandLine();// Pfad + Name der Exe holen
int pos = droplist.ReverseFind( '\\'); // letztes '\' finden
droplist = droplist.Mid(1, pos-1); // Name der Exe abtrennen, so dass nur noch der Pfad übrig bleibt
droplist+=&quot;\\droplist.txt&quot;;

CFile file(droplist,CFile::modeCreate | CFile::modeWrite); //hier dann Absturz
//Das Programm beendet sich einfach...
//...
</code></pre>
<p>NUR folgende Variante ohne Pfad-Variable funktioniert:</p>
<pre><code class="language-cpp">CFile file(&quot;c:\\test.txt&quot;,CFile::modeCreate | CFile::modeWrite);
//...usw.
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/192089/cfile-schmiert-ab</link><generator>RSS for Node</generator><lastBuildDate>Fri, 10 Apr 2026 23:45:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/192089.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 10 Sep 2007 13:17:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CFile schmiert ab on Mon, 10 Sep 2007 13:17:50 GMT]]></title><description><![CDATA[<p>Einer meiner Dialog schmiert immer dann ab, wenn ich CFile mit<br />
einer Variable nutzen möchte:</p>
<pre><code class="language-cpp">CString droplist = GetCommandLine();// Pfad + Name der Exe holen
int pos = droplist.ReverseFind( '\\'); // letztes '\' finden
droplist = droplist.Mid(1, pos-1); // Name der Exe abtrennen, so dass nur noch der Pfad übrig bleibt
droplist+=&quot;\\droplist.txt&quot;;

CFile file(droplist,CFile::modeCreate | CFile::modeWrite); //hier dann Absturz
//Das Programm beendet sich einfach...
//...
</code></pre>
<p>NUR folgende Variante ohne Pfad-Variable funktioniert:</p>
<pre><code class="language-cpp">CFile file(&quot;c:\\test.txt&quot;,CFile::modeCreate | CFile::modeWrite);
//...usw.
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1362588</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1362588</guid><dc:creator><![CDATA[Jenna86]]></dc:creator><pubDate>Mon, 10 Sep 2007 13:17:50 GMT</pubDate></item><item><title><![CDATA[Reply to CFile schmiert ab on Mon, 10 Sep 2007 14:07:47 GMT]]></title><description><![CDATA[<p>droplist = droplist.Mid(1, pos-1);</p>
<p>du sagtst ab &quot;1&quot; - das ist kaese, du musst bei 0 anfangen {o;<br />
sonst hast du &quot;:\test.txt&quot; statt &quot;C:\tet.txt&quot;</p>
<p>(das haettest du mit dem debugger binnen sekunden rausgefunden</p>
<p>theoretisch kannst du auch das machen</p>
<p>droplist = droplist.Left(pos) + _T(&quot;Test.txt&quot;);</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1362617</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1362617</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Mon, 10 Sep 2007 14:07:47 GMT</pubDate></item><item><title><![CDATA[Reply to CFile schmiert ab on Mon, 10 Sep 2007 14:31:45 GMT]]></title><description><![CDATA[<p>Hast Du Dir mal im Debugger angeschaut, was nach</p>
<pre><code>droplist+=&quot;\\droplist.txt&quot;;
</code></pre>
<p>in droplist steht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1362637</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1362637</guid><dc:creator><![CDATA[jencas]]></dc:creator><pubDate>Mon, 10 Sep 2007 14:31:45 GMT</pubDate></item><item><title><![CDATA[Reply to CFile schmiert ab on Mon, 10 Sep 2007 14:38:08 GMT]]></title><description><![CDATA[<p>Man kann nicht davon ausgehen, das der Name der EXE Datei in der Befehlszeile steht.<br />
Verwende GetModuleFileName.</p>
<p>Zudem soltest Du mal einen Blick auf die Shell Light Weight Api werefn.<br />
PathFindFileName <a href="http://msdn2.microsoft.com/en-us/library/ms628559.aspx" rel="nofollow">http://msdn2.microsoft.com/en-us/library/ms628559.aspx</a><br />
Diese Funktionen sind weitaus sicherer und besser als was man selber so mit Find/Replace/Mid macht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1362638</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1362638</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 10 Sep 2007 14:38:08 GMT</pubDate></item><item><title><![CDATA[Reply to CFile schmiert ab on Mon, 10 Sep 2007 14:39:13 GMT]]></title><description><![CDATA[<p>Nein! Es funktioniert wie beschrieben <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="😉"
    /><br />
Ich hatte nur einen Fehler in CFile gemacht.<br />
Die 1 ist schon richtig!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1362639</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1362639</guid><dc:creator><![CDATA[Jenna86]]></dc:creator><pubDate>Mon, 10 Sep 2007 14:39:13 GMT</pubDate></item><item><title><![CDATA[Reply to CFile schmiert ab on Mon, 10 Sep 2007 18:47:06 GMT]]></title><description><![CDATA[<p>Ich wiederhole mich: Du kannst nicht davon ausgehen, dass der Name der EXE in der Commandline steht!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1362816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1362816</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 10 Sep 2007 18:47:06 GMT</pubDate></item><item><title><![CDATA[Reply to CFile schmiert ab on Mon, 10 Sep 2007 19:45:44 GMT]]></title><description><![CDATA[<p>Laut MSDN muss du beim Öffnen auch noch einen Zurgiffsparameter angeben, also z.B. CFile::shareExclusive. Ich hatte da auch mal Probleme, als ich das vergessn hatte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1362851</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1362851</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Mon, 10 Sep 2007 19:45:44 GMT</pubDate></item><item><title><![CDATA[Reply to CFile schmiert ab on Tue, 11 Sep 2007 06:24:25 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>jetzt ist mir klar warum ihr die 1 bzw -1 nicht wollt.<br />
Mit GetModuleFileName muss man die weglassen:</p>
<pre><code class="language-cpp">char buf[256];
GetModuleFileName(NULL, buf, 255);
CString droplist = buf;
int pos = droplist.ReverseFind( '\\');
droplist = droplist.Mid(0, pos);
</code></pre>
<p><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/1362971</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1362971</guid><dc:creator><![CDATA[Jenna86]]></dc:creator><pubDate>Tue, 11 Sep 2007 06:24:25 GMT</pubDate></item><item><title><![CDATA[Reply to CFile schmiert ab on Tue, 11 Sep 2007 07:55:49 GMT]]></title><description><![CDATA[<p>nimm doch einfach &quot;GetCurrentDirectory&quot; dann brauchst du die exe nicht aus dem namen nehmen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1363027</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363027</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Tue, 11 Sep 2007 07:55:49 GMT</pubDate></item><item><title><![CDATA[Reply to CFile schmiert ab on Tue, 11 Sep 2007 08:04:49 GMT]]></title><description><![CDATA[<p>Mr Evil schrieb:</p>
<blockquote>
<p>nimm doch einfach &quot;GetCurrentDirectory&quot; dann brauchst du die exe nicht aus dem namen nehmen</p>
</blockquote>
<p>Falsch! GetCurrentDirectory kann durch den Aufrufer bestimmt werden und ist nicht identisch mit dem Programm-Verzeichnis!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1363035</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363035</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 11 Sep 2007 08:04:49 GMT</pubDate></item><item><title><![CDATA[Reply to CFile schmiert ab on Tue, 11 Sep 2007 10:05:29 GMT]]></title><description><![CDATA[<p>Ok, hatte das nur zufaellig gefunden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1363139</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363139</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Tue, 11 Sep 2007 10:05:29 GMT</pubDate></item></channel></rss>