<?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[Datein kopieren unter Linux - Segmentation fault]]></title><description><![CDATA[<p>Hey,</p>
<p>ich such grad verzweifelt nach einer Möglichekeit Datein mit C++ unter Linux zu kopieren. Das einzige was mir google dazu sagen konnte war: machs selber. Also hab ich mir bisl Code gesucht un den in meinem Programm umgesetzt. Folgende Methode ist dabei raus gekommen:</p>
<pre><code class="language-cpp">/**kopiert eine Datei an einen anderen Ort
 * <a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/7715">@source</a>: Quelldatei
 * @dest: Zieldatei */
void TUtils::copyFile(const char *source, const char *dest){
	printf(&quot;copy file:\nsource:\t\t%s\ndestination:\t%s\n\n&quot;, source, dest);
	ifstream sourceFile;
	ofstream destFile;

	sourceFile.open(source, ios::binary);
	if (!sourceFile){
		printf(&quot;copyFile Error: file doesn't exist: %s&quot;, source);
		return ;
	}	
	destFile.open(dest, ios::trunc | ios::binary | ois::out);
	if (!destFile){
		printf(&quot;copyFile Error: file doesn't exist: %s&quot;, dest);
		return;
	}	

	destFile &lt;&lt; sourceFile;

	destFile.close();
	sourceFile.close();
	return;
}
</code></pre>
<p>Leider kommt da aber ein Segmentation fault am Ende der Methode. Die Datei wird auch normal angelegt (kann aber nicht geöffnet werden). Was mach ich falsch?</p>
<p>MfG Bergmann.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/289835/datein-kopieren-unter-linux-segmentation-fault</link><generator>RSS for Node</generator><lastBuildDate>Tue, 18 Aug 2026 21:46:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/289835.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 13 Jul 2011 18:25:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Datein kopieren unter Linux - Segmentation fault on Wed, 13 Jul 2011 18:25:16 GMT]]></title><description><![CDATA[<p>Hey,</p>
<p>ich such grad verzweifelt nach einer Möglichekeit Datein mit C++ unter Linux zu kopieren. Das einzige was mir google dazu sagen konnte war: machs selber. Also hab ich mir bisl Code gesucht un den in meinem Programm umgesetzt. Folgende Methode ist dabei raus gekommen:</p>
<pre><code class="language-cpp">/**kopiert eine Datei an einen anderen Ort
 * <a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/7715">@source</a>: Quelldatei
 * @dest: Zieldatei */
void TUtils::copyFile(const char *source, const char *dest){
	printf(&quot;copy file:\nsource:\t\t%s\ndestination:\t%s\n\n&quot;, source, dest);
	ifstream sourceFile;
	ofstream destFile;

	sourceFile.open(source, ios::binary);
	if (!sourceFile){
		printf(&quot;copyFile Error: file doesn't exist: %s&quot;, source);
		return ;
	}	
	destFile.open(dest, ios::trunc | ios::binary | ois::out);
	if (!destFile){
		printf(&quot;copyFile Error: file doesn't exist: %s&quot;, dest);
		return;
	}	

	destFile &lt;&lt; sourceFile;

	destFile.close();
	sourceFile.close();
	return;
}
</code></pre>
<p>Leider kommt da aber ein Segmentation fault am Ende der Methode. Die Datei wird auch normal angelegt (kann aber nicht geöffnet werden). Was mach ich falsch?</p>
<p>MfG Bergmann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2092432</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2092432</guid><dc:creator><![CDATA[Bergmann89]]></dc:creator><pubDate>Wed, 13 Jul 2011 18:25:16 GMT</pubDate></item><item><title><![CDATA[Reply to Datein kopieren unter Linux - Segmentation fault on Wed, 13 Jul 2011 18:33:41 GMT]]></title><description><![CDATA[<p>Ich mag keine C-C++-Aufläufe...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2092436</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2092436</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Wed, 13 Jul 2011 18:33:41 GMT</pubDate></item><item><title><![CDATA[Reply to Datein kopieren unter Linux - Segmentation fault on Wed, 13 Jul 2011 18:35:18 GMT]]></title><description><![CDATA[<p>Ich wußte gar nicht, daß man Streams selber ausgeben kann.</p>
<p>Die Lösung, die ich in Erinnerung habe, was den Stream-Buffer auszugeben: <code>destFile&lt;&lt;sourceFile.rdbuf();</code> . (aber afaik gibt es schon genug Programme, die das direkter erledigen können :D)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2092437</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2092437</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 13 Jul 2011 18:35:18 GMT</pubDate></item><item><title><![CDATA[Reply to Datein kopieren unter Linux - Segmentation fault on Wed, 13 Jul 2011 18:43:37 GMT]]></title><description><![CDATA[<p>Hm, komisch jetzt gehts auf einma, ohne das ich was geändert hab <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10318">@CStoll</a>: ja das rdbuf muss rann, sonst is die erstellte Datei leer.<br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/25179">@EOutOfResources</a>: wie meinst du das? Ich bin neu in C/C++ un versteh immer noch nich ganz wo da der unterschied liegt. Bzw warum man das nich mixen sollte.</p>
<p>MfG Bergmann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2092441</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2092441</guid><dc:creator><![CDATA[Bergmann89]]></dc:creator><pubDate>Wed, 13 Jul 2011 18:43:37 GMT</pubDate></item><item><title><![CDATA[Reply to Datein kopieren unter Linux - Segmentation fault on Wed, 13 Jul 2011 18:48:24 GMT]]></title><description><![CDATA[<p>Bergmann89 schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/25179">@EOutOfResources</a>: wie meinst du das?</p>
</blockquote>
<p>Für Zeichen ketten nutzt man <code>std::string</code> statt <code>const char*</code> . Für die Ausgabe nutzt man <code>std::cout</code> statt <code>printf</code> . Wieso? Beim <code>std::string</code> kann man keine Zugriffe auf Speicher, der nicht du besitzt durchführen. Und <code>std::cout</code> ist, im Gegensatz zu <code>printf</code> , typsicher.</p>
<p>Und lerne etwas über das Konzept &quot;RAII&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2092444</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2092444</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Wed, 13 Jul 2011 18:48:24 GMT</pubDate></item><item><title><![CDATA[Reply to Datein kopieren unter Linux - Segmentation fault on Wed, 13 Jul 2011 18:52:06 GMT]]></title><description><![CDATA[<p>EOutOfResources schrieb:</p>
<blockquote>
<p>Für Zeichen ketten nutzt man <code>std::string</code> statt <code>const char*</code> .</p>
</blockquote>
<p>Das ist aber mal zu Unrecht verallgemeinert...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2092449</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2092449</guid><dc:creator><![CDATA[yahendrik]]></dc:creator><pubDate>Wed, 13 Jul 2011 18:52:06 GMT</pubDate></item><item><title><![CDATA[Reply to Datein kopieren unter Linux - Segmentation fault on Wed, 13 Jul 2011 18:53:33 GMT]]></title><description><![CDATA[<p>yahendrik schrieb:</p>
<blockquote>
<p>Das ist aber mal zu Unrecht verallgemeinert...</p>
</blockquote>
<p>Du wirst mir keine drei Beispiele nennen können, wo meine von dir zitierte Aussage nicht gültig ist...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2092450</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2092450</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Wed, 13 Jul 2011 18:53:33 GMT</pubDate></item><item><title><![CDATA[Reply to Datein kopieren unter Linux - Segmentation fault on Wed, 13 Jul 2011 18:57:29 GMT]]></title><description><![CDATA[<p>Hey,</p>
<p>eig benutz ich die strings. Weiß selber nich warum ich da nen Pointer übergeb. Werd das ma noch ändern.<br />
Aber das mit dem RAII versteh ich nich. Am Anfang der Methode werden die Variablen initialisiert und die Datein geöffnet und am Ende werden die Datei geschlossen. Und die Freigabe von angelegten Variablen übernimmt doch C++ für mich (solange es keine Sachen sind die ich mit new angelegt hab) oder bin ich da auf dem Holzweg?</p>
<p>MfG Bergmann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2092452</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2092452</guid><dc:creator><![CDATA[Bergmann89]]></dc:creator><pubDate>Wed, 13 Jul 2011 18:57:29 GMT</pubDate></item><item><title><![CDATA[Reply to Datein kopieren unter Linux - Segmentation fault on Wed, 13 Jul 2011 18:57:46 GMT]]></title><description><![CDATA[<p>Stringliterale<br />
Dll-Interface<br />
?</p>
<p>Aber das reicht eigentlich schon. Auch in C++ hat der <code>const char*</code> durchaus seine Daseinsberechtigung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2092453</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2092453</guid><dc:creator><![CDATA[yahendrik]]></dc:creator><pubDate>Wed, 13 Jul 2011 18:57:46 GMT</pubDate></item><item><title><![CDATA[Reply to Datein kopieren unter Linux - Segmentation fault on Wed, 13 Jul 2011 18:59:30 GMT]]></title><description><![CDATA[<p>Bergmann89 schrieb:</p>
<blockquote>
<p>Aber das mit dem RAII versteh ich nich.</p>
</blockquote>
<p>Die beiden <code>close</code> -Aufrufe werden vom DTor gemacht <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="😉"
    /> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2092454</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2092454</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Wed, 13 Jul 2011 18:59:30 GMT</pubDate></item><item><title><![CDATA[Reply to Datein kopieren unter Linux - Segmentation fault on Wed, 13 Jul 2011 19:00:15 GMT]]></title><description><![CDATA[<p>yahendrik schrieb:</p>
<blockquote>
<p>Stringliterale</p>
</blockquote>
<p>Was ist damit? Die werden implizit kovertiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2092455</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2092455</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Wed, 13 Jul 2011 19:00:15 GMT</pubDate></item><item><title><![CDATA[Reply to Datein kopieren unter Linux - Segmentation fault on Wed, 13 Jul 2011 19:00:46 GMT]]></title><description><![CDATA[<p>yahendrik schrieb:</p>
<blockquote>
<p>Stringliterale<br />
Dll-Interface<br />
?</p>
</blockquote>
<p>Performance</p>
<p><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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2092456</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2092456</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Wed, 13 Jul 2011 19:00:46 GMT</pubDate></item><item><title><![CDATA[Reply to Datein kopieren unter Linux - Segmentation fault on Wed, 13 Jul 2011 19:04:36 GMT]]></title><description><![CDATA[<p>Shade Of Mine schrieb:</p>
<blockquote>
<p>Performance<br />
<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="😉"
    /></p>
</blockquote>
<p>lol, ich wusste, irgendwas hatte ich vergessen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><br />
Argh, Komma.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2092457</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2092457</guid><dc:creator><![CDATA[yahendrik]]></dc:creator><pubDate>Wed, 13 Jul 2011 19:04:36 GMT</pubDate></item><item><title><![CDATA[Reply to Datein kopieren unter Linux - Segmentation fault on Wed, 13 Jul 2011 19:18:00 GMT]]></title><description><![CDATA[<p>Erstelle die Streams auch alle erst so spät wie möglich und nicht alle am Anfang. Auch kann man Streams direkt im Konstruktor öffnen, womit man sich den open() Aufruf spart.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2092462</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2092462</guid><dc:creator><![CDATA[offline]]></dc:creator><pubDate>Wed, 13 Jul 2011 19:18:00 GMT</pubDate></item><item><title><![CDATA[Reply to Datein kopieren unter Linux - Segmentation fault on Wed, 13 Jul 2011 22:23:44 GMT]]></title><description><![CDATA[<p>offline schrieb:</p>
<blockquote>
<p>Erstelle die Streams auch alle erst so spät wie möglich und nicht alle am Anfang. Auch kann man Streams direkt im Konstruktor öffnen, womit man sich den open() Aufruf spart.</p>
</blockquote>
<p>Dann kannst du aber auch gleich dazu erwähnen, dass Streams RAII können. Immer diese halben Wahrheiten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2092498</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2092498</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Wed, 13 Jul 2011 22:23:44 GMT</pubDate></item><item><title><![CDATA[Reply to Datein kopieren unter Linux - Segmentation fault on Thu, 14 Jul 2011 07:16:50 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>erwähnen, dass Streams RAII können.</p>
</blockquote>
<p>Das habe ich schon gemacht. Er wollte mich wahrscheinlich einfach nicht wiederholen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2092576</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2092576</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Thu, 14 Jul 2011 07:16:50 GMT</pubDate></item></channel></rss>