<?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[Absolutes Anfängerproblem]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich bin gerade von Delphi auf C++ umgestiegen und habe mit einigen Dingen noch so meine Probleme zum Beispiel hiermit:</p>
<pre><code>char windir_name[MAX_PATH];
        GetWindowsDirectory( windir_name, sizeof( windir_name ) );
        if (!(ExtractFilePath(Application-&gt;ExeName) == windir_name))
        {
                Char Exenom[MAX_PATH] = &quot;MeinProgramm.exe&quot;;
                CopyFile ((ExtractFilePath(Application-&gt;ExeName) + ExtractFileName(Application-&gt;ExeName)), (PChar(windir_name) + PChar(Exenom)), TRUE);
        }
</code></pre>
<p>Damit möchte ich überprüfen ob sich mein Programm im Windows-Verzeichnis befindet, wenn nicht kopiert es sich dort hin. Das Problem ist das beim CopyFile Befehl die Typenumwandlung nicht klappt, der Dateiname der Zieldatei ist eine Char-Variable und die wird nicht akzeptiert. Kann mir jemand sagen wie ich das konvertieren kann?</p>
<p>Danke &amp; Liebe Grüße,</p>
<p>Seddto</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/81096/absolutes-anfängerproblem</link><generator>RSS for Node</generator><lastBuildDate>Tue, 30 Jun 2026 17:28:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/81096.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 27 Jul 2004 21:14:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Absolutes Anfängerproblem on Tue, 27 Jul 2004 21:14:10 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich bin gerade von Delphi auf C++ umgestiegen und habe mit einigen Dingen noch so meine Probleme zum Beispiel hiermit:</p>
<pre><code>char windir_name[MAX_PATH];
        GetWindowsDirectory( windir_name, sizeof( windir_name ) );
        if (!(ExtractFilePath(Application-&gt;ExeName) == windir_name))
        {
                Char Exenom[MAX_PATH] = &quot;MeinProgramm.exe&quot;;
                CopyFile ((ExtractFilePath(Application-&gt;ExeName) + ExtractFileName(Application-&gt;ExeName)), (PChar(windir_name) + PChar(Exenom)), TRUE);
        }
</code></pre>
<p>Damit möchte ich überprüfen ob sich mein Programm im Windows-Verzeichnis befindet, wenn nicht kopiert es sich dort hin. Das Problem ist das beim CopyFile Befehl die Typenumwandlung nicht klappt, der Dateiname der Zieldatei ist eine Char-Variable und die wird nicht akzeptiert. Kann mir jemand sagen wie ich das konvertieren kann?</p>
<p>Danke &amp; Liebe Grüße,</p>
<p>Seddto</p>
]]></description><link>https://www.c-plusplus.net/forum/post/569894</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/569894</guid><dc:creator><![CDATA[seddto]]></dc:creator><pubDate>Tue, 27 Jul 2004 21:14:10 GMT</pubDate></item><item><title><![CDATA[Reply to Absolutes Anfängerproblem on Tue, 27 Jul 2004 21:59:41 GMT]]></title><description><![CDATA[<p>Ich habe im Moment die Hilfe nicht verfügbar, so dass ich nicht genau weiß, was die Funktion CopyFile als Argumente<br />
erwartet. Aber wenn das zweite Argument Ärger bereitet, könnte es vielleicht so funktionieren:</p>
<pre><code class="language-cpp">CopyFile (Application-&gt;ExeName, String((PChar(windir_name) + PChar(Exenom))), TRUE);
</code></pre>
<p>Falls CopyFile() char* als Arguemente erwartet, dann versuch's mal mit c_str().<br />
Für was ist eigentlich PChar() gut? Und weshalb ziehst Du den Pfad- und Dateinamen aus Application-&gt;ExeName raus<br />
und setzt sie dann gleich wieder zusammen? Letzteres habe ich mal rausgeschmissen - sollte auch so funktionieren.</p>
<p>Gruß,</p>
<p>Alexander</p>
]]></description><link>https://www.c-plusplus.net/forum/post/569923</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/569923</guid><dc:creator><![CDATA[Alexander Kempf]]></dc:creator><pubDate>Tue, 27 Jul 2004 21:59:41 GMT</pubDate></item><item><title><![CDATA[Reply to Absolutes Anfängerproblem on Tue, 27 Jul 2004 23:17:31 GMT]]></title><description><![CDATA[<p>Danke für die Antwort. Ich glaube inzwischen es liegt an dem Plus zwischen windir_name und exenom. Ich kriege vom C++ Builder die Fehlermeldung &quot;Invalid Pointer addition&quot;. Aber die beiden Variablen sind doch garnicht als Pointer initalisiert oder sehe ich das falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/569960</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/569960</guid><dc:creator><![CDATA[seddto]]></dc:creator><pubDate>Tue, 27 Jul 2004 23:17:31 GMT</pubDate></item><item><title><![CDATA[Reply to Absolutes Anfängerproblem on Wed, 28 Jul 2004 03:33:03 GMT]]></title><description><![CDATA[<p>doch, sind sie. Du hast zwei Zeiger auf zwei Array of chars. Wenn du diese<br />
zusammen zählen würdest, hättest du einen Zeiger irgendwo anders im Speicher.<br />
caste beider vorher nach AnsiString, dann sollte es gehen:</p>
<p>AnsiString strTemp = (AnisString)windir_name + (AnisString)Exenom;</p>
<p>mit strTemp.c_str() bekommst du wieder ein array of char und hast somit beide<br />
Felder &quot;addiert&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/569985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/569985</guid><dc:creator><![CDATA[Acidmrp]]></dc:creator><pubDate>Wed, 28 Jul 2004 03:33:03 GMT</pubDate></item></channel></rss>