<?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[EAccess Violation bei CopyFile]]></title><description><![CDATA[<p>Hallo ich möchte gerne das der Benutzer Auswählen kann wo er seine Datei speichern möchte.</p>
<p>So bekomme ich immer nur eine EAccess Violation.</p>
<p>Wie macht man es richtig?</p>
<pre><code class="language-cpp">char *datei;
char *datei_neu;
bool error;

cout&lt;&lt;&quot;wo liegt die datei: &quot;;
cin&gt;&gt;datei;

cout&lt;&lt;&quot;neuer speicherort: &quot;;
cin&gt;&gt;datei_neu;

CopyFile ( datei  , datei_neu , error);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/239819/eaccess-violation-bei-copyfile</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 07:19:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/239819.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 28 Apr 2009 12:43:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to EAccess Violation bei CopyFile on Tue, 28 Apr 2009 12:43:43 GMT]]></title><description><![CDATA[<p>Hallo ich möchte gerne das der Benutzer Auswählen kann wo er seine Datei speichern möchte.</p>
<p>So bekomme ich immer nur eine EAccess Violation.</p>
<p>Wie macht man es richtig?</p>
<pre><code class="language-cpp">char *datei;
char *datei_neu;
bool error;

cout&lt;&lt;&quot;wo liegt die datei: &quot;;
cin&gt;&gt;datei;

cout&lt;&lt;&quot;neuer speicherort: &quot;;
cin&gt;&gt;datei_neu;

CopyFile ( datei  , datei_neu , error);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1702613</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1702613</guid><dc:creator><![CDATA[blup]]></dc:creator><pubDate>Tue, 28 Apr 2009 12:43:43 GMT</pubDate></item><item><title><![CDATA[Reply to EAccess Violation bei CopyFile on Tue, 28 Apr 2009 14:25:40 GMT]]></title><description><![CDATA[<p>blup schrieb:</p>
<blockquote>
<p>Hallo ich möchte gerne das der Benutzer Auswählen kann wo er seine Datei speichern möchte.</p>
<p>So bekomme ich immer nur eine EAccess Violation.</p>
<p>Wie macht man es richtig?</p>
<pre><code class="language-cpp">char *datei;
char *datei_neu;
bool error;

cout&lt;&lt;&quot;wo liegt die datei: &quot;;
cin&gt;&gt;datei;

cout&lt;&lt;&quot;neuer speicherort: &quot;;
cin&gt;&gt;datei_neu;

CopyFile ( datei  , datei_neu , error);
</code></pre>
</blockquote>
<p>char* datei und char* datei_neu verweisen auf irgend einen zufälligen, nicht initialisierten Speicherbereich, in den cin &gt;&gt; nichts hineinschreiben darf.</p>
<p>Vielleicht so versuchen:</p>
<pre><code class="language-cpp">#include &lt;cstdio&gt;
#include &lt;cstring&gt;
using namespace std;
int main(){
char datei[64] = {'\0'};
char datei_neu[64] = {'\0'};
printf(&quot;Wo liegt die Datei? \n\t&quot;);
fgets(datei,64,stdin);
datei[strlen(datei)-1] = '\0';
printf(&quot;Neuer Speicherort? \n\t&quot;);
fgets(datei_neu,64,stdin);
datei_neu[strlen(datei)-1] = '\0';
/* So, und jetzt kennen wir beide Dateinamen, und koennen versuchen,
 die Dateien zu oeffnen. */
return 0;
}
</code></pre>
<p>So zirka könnte es funktionieren. Man mag es als kleinen Nachteil ansehen, dass der bereitgestellte Buffer fuer die Dateinamen max. 64 Zeichen aufnehmen kann. Dann ist der Anwender eben selber schuld, wenn er sich zu lange Dateinamen ausdenkt.<br />
LOL</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1702672</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1702672</guid><dc:creator><![CDATA[ungarischer]]></dc:creator><pubDate>Tue, 28 Apr 2009 14:25:40 GMT</pubDate></item><item><title><![CDATA[Reply to EAccess Violation bei CopyFile on Tue, 28 Apr 2009 14:29:49 GMT]]></title><description><![CDATA[<p>Hoppala<br />
In dieser Zeile:</p>
<pre><code class="language-cpp">datei_neu[strlen(datei)-1] = '\0';
</code></pre>
<p>ist eine Ungenauigkeit passiert.<br />
Es sollte</p>
<pre><code class="language-cpp">datei_neu[strlen(datei_neu)-1];
</code></pre>
<p>heißen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1702679</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1702679</guid><dc:creator><![CDATA[ungarischer]]></dc:creator><pubDate>Tue, 28 Apr 2009 14:29:49 GMT</pubDate></item><item><title><![CDATA[Reply to EAccess Violation bei CopyFile on Tue, 28 Apr 2009 14:33:11 GMT]]></title><description><![CDATA[<p>Oder so:</p>
<pre><code class="language-cpp">std::string datei;
std::string datei_neu;
bool error;

std::cout &lt;&lt; &quot;wo liegt die datei: &quot;;
std::getline(std::cin, datei);

std::cout &lt;&lt; &quot;neuer speicherort: &quot;;
std::getline(std::cin, datei_neu);

CopyFile ( datei.c_str(), datei_neu.c_str() , error);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1702683</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1702683</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Tue, 28 Apr 2009 14:33:11 GMT</pubDate></item></channel></rss>