<?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[fstream exe lesen und anschließend schreiben unterschiedlicher Inhalt.]]></title><description><![CDATA[<p>Guten Morgen,</p>
<p>Ich möchte eine Datei via fstream Kopieren und werde bei dieser einfachen Aufgabe echt noch blöd <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=":/"
      alt="😕"
    /> Jedoch haben die Dateien nach dem Kopieren eine andere CheckSum. CopyFileA und std::copy kann ich in diesem Fall leider nicht verwenden.</p>
<p>Jedoch spricht Code mehr als 1000 Wrte also seht selbst.</p>
<pre><code>user@user:~$ g++ test.cpp -o test
user@user:~$ ./test 
user@user:~$ md5sum test
5a0acf8e1e6cbfc20f954eeb0bd3b75b  test
user@user:~$ md5sum test2 
d41d8cd98f00b204e9800998ecf8427e  test2
user@user:~$
</code></pre>
<pre><code>#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;sstream&gt;
#include &lt;string&gt;

int main() {
	std::ifstream in;
	in.open(&quot;./test&quot;, std::ios::in | std::ios::binary);
	if (!in.is_open()) {
		return 1;
	}
	std::stringstream stream;
	stream &lt;&lt; in.rdbuf();
	std::string data = stream.str();
	in.close();

	std::ofstream out;
	out.open(&quot;./test2&quot;, std::ios::out | std::ios::binary);
	if (!in.is_open()) {
		return 2;
	}
	out &lt;&lt; data;
	out.close();

	return 0;
}
</code></pre>
<p>Vielen Dank!</p>
<p>Grüße Unicode-Hater</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/311073/fstream-exe-lesen-und-anschließend-schreiben-unterschiedlicher-inhalt</link><generator>RSS for Node</generator><lastBuildDate>Mon, 03 Aug 2026 22:39:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/311073.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 26 Nov 2012 10:26:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to fstream exe lesen und anschließend schreiben unterschiedlicher Inhalt. on Mon, 26 Nov 2012 10:26:03 GMT]]></title><description><![CDATA[<p>Guten Morgen,</p>
<p>Ich möchte eine Datei via fstream Kopieren und werde bei dieser einfachen Aufgabe echt noch blöd <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=":/"
      alt="😕"
    /> Jedoch haben die Dateien nach dem Kopieren eine andere CheckSum. CopyFileA und std::copy kann ich in diesem Fall leider nicht verwenden.</p>
<p>Jedoch spricht Code mehr als 1000 Wrte also seht selbst.</p>
<pre><code>user@user:~$ g++ test.cpp -o test
user@user:~$ ./test 
user@user:~$ md5sum test
5a0acf8e1e6cbfc20f954eeb0bd3b75b  test
user@user:~$ md5sum test2 
d41d8cd98f00b204e9800998ecf8427e  test2
user@user:~$
</code></pre>
<pre><code>#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;sstream&gt;
#include &lt;string&gt;

int main() {
	std::ifstream in;
	in.open(&quot;./test&quot;, std::ios::in | std::ios::binary);
	if (!in.is_open()) {
		return 1;
	}
	std::stringstream stream;
	stream &lt;&lt; in.rdbuf();
	std::string data = stream.str();
	in.close();

	std::ofstream out;
	out.open(&quot;./test2&quot;, std::ios::out | std::ios::binary);
	if (!in.is_open()) {
		return 2;
	}
	out &lt;&lt; data;
	out.close();

	return 0;
}
</code></pre>
<p>Vielen Dank!</p>
<p>Grüße Unicode-Hater</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274725</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274725</guid><dc:creator><![CDATA[Unicode-Hater]]></dc:creator><pubDate>Mon, 26 Nov 2012 10:26:03 GMT</pubDate></item><item><title><![CDATA[Reply to fstream exe lesen und anschließend schreiben unterschiedlicher Inhalt. on Mon, 26 Nov 2012 11:01:06 GMT]]></title><description><![CDATA[<p>Die Dateigröße sollte dir schon den ersten Anhaltspunkt geben: Die Kopie hat nämlich 0 Bytes. Guck dir Zeile 19 nochmal genau an.</p>
<p>P.S.: Warum überhaupt der doppelte Umweg über sowohl stringstream als dann auch nochmal über string? Mach doch einfach direkt</p>
<pre><code>out &lt;&lt; in.rdbuf();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2274739</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274739</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 26 Nov 2012 11:01:06 GMT</pubDate></item><item><title><![CDATA[Reply to fstream exe lesen und anschließend schreiben unterschiedlicher Inhalt. on Mon, 26 Nov 2012 11:27:22 GMT]]></title><description><![CDATA[<p>Das funktioniert. Danke! Wie kann ich nun aber den Inhalt der Datei die ich einlesen Manipulieren ohne den Inhalt mit den Stringstreams zu zerstören? Oder kann ich den Inhalt nicht in einen std::string einlesen?</p>
<pre><code>user@user:~$ g++ test.cpp -o test -Wall
user@user:~$ ./test 
user@user:~$ md5sum test
cf68fbf77586a506860ae13285f09140  test
user@user:~$ md5sum test2 
cf68fbf77586a506860ae13285f09140  test2
user@user:~$
</code></pre>
<pre><code>#include &lt;iostream&gt; 
#include &lt;fstream&gt; 
#include &lt;sstream&gt; 
#include &lt;string&gt; 

int main() { 
    std::ifstream in; 
    in.open(&quot;./test&quot;, std::ios::in | std::ios::binary); 
    if (!in.is_open()) { 
        return 1; 
    } 

    std::ofstream out; 
    out.open(&quot;./test2&quot;, std::ios::out | std::ios::binary); 
    if (!in.is_open()) { 
        return 2; 
    } 
    out &lt;&lt; in.rdbuf(); 
    out.close();
    in.close();

    return 0; 
}
</code></pre>
<p>Grüße Unicode-Hater</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274747</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274747</guid><dc:creator><![CDATA[Grüße Unicode-Hater]]></dc:creator><pubDate>Mon, 26 Nov 2012 11:27:22 GMT</pubDate></item><item><title><![CDATA[Reply to fstream exe lesen und anschließend schreiben unterschiedlicher Inhalt. on Mon, 26 Nov 2012 12:11:02 GMT]]></title><description><![CDATA[<p>Den Tipp mit Zeile 19 (im neuesten Code Zeile 15) solltest du schon befolgen, dann funktioniert auch dein erstes Programm.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274756</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274756</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 26 Nov 2012 12:11:02 GMT</pubDate></item><item><title><![CDATA[Reply to fstream exe lesen und anschließend schreiben unterschiedlicher Inhalt. on Mon, 26 Nov 2012 14:41:27 GMT]]></title><description><![CDATA[<p>Manchmal dauert es bei mir etwas länger <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="😉"
    /> Aber hebe jetzt verstanden das ich in nicht schließen darf und dann prüfen in.is_open(). Da muss out.is_open() hin. Hat aber echt lange gedauert <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>
<p>Vielen Dank für die Geduld <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/2274801</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274801</guid><dc:creator><![CDATA[Unicode-Hater]]></dc:creator><pubDate>Mon, 26 Nov 2012 14:41:27 GMT</pubDate></item></channel></rss>