<?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[Dateien bearbeiten]]></title><description><![CDATA[<p>Hallo!<br />
Ich debugge schon seit 2 Stunden und bin immernoch nicht auf di eLoesung meines Problems gekommen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Ich habe eine Datei, die ich per <code>std::ifstream</code> einlese und zwar zeilenweise in einen <code>std::vector&lt;std::string&gt;</code><br />
Nun bearbeite ich den Vektor zeichenweise, indem ich den Wert des chars um eins erhoehe (++). Dann schreibe ich die Datei per <code>std::ofstream</code> auf den Rechner. Wenn ich diese Datei dann wieder einlese (auch wieder zeilenweise - vielleicht hat das ja damit was zu tun...) und die char-Code wieder abziehe (--) und die Datei dann erneut speichere, muss ich feststellen dass bei einigen Dateien Daten verloren gegangen sind... Aber nicht bei allen - nur bei speziellen Sachen wie JPG-Dateien.<br />
Uebrigens, lass ich die char-Erhoehung und Vertiefung weg, laeuft alles glatt.<br />
Der Code ist sehr gross (2000 Zeilen) und durch diverse Klassen gekapselt und da ich nicht wirklich weiss, wo das Problem ist, kann ich auch kein Code-Snippet posten... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Es handelt sich bei dem ganzen Uebrigens um einen Datei-Verschluessler.</p>
<p>So sehen die Verschluesselungsfunktionen aus:</p>
<pre><code>char Cryptor::Encrypt(char s)
{
	return s-1;
}

char Cryptor::Decrypt(char s)
{
	return s+1;
}
</code></pre>
<p>Aber wie gesagt, weiss nicht wirklich wo das Problem ist. Bei meinem letzten Datei-Verschluessler (der sehr viel einfacher gestrickt ist) hat alles geklappt, da ich die Datei zeichenweise eingelesen hab und nicht zeilenweise so wie es jetzt der Fall ist. Vielleicht liegt das Problem ja hier (fuer mein Programm MUSS ich die Datei zeilenweise einlesen).<br />
Hoffe, jemand kann mir helfen. Bin am verzweifeln <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>
<p>Gruss<br />
Cartman</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/235385/dateien-bearbeiten</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 05:42:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/235385.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 01 Mar 2009 12:18:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dateien bearbeiten on Sun, 01 Mar 2009 12:18:30 GMT]]></title><description><![CDATA[<p>Hallo!<br />
Ich debugge schon seit 2 Stunden und bin immernoch nicht auf di eLoesung meines Problems gekommen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Ich habe eine Datei, die ich per <code>std::ifstream</code> einlese und zwar zeilenweise in einen <code>std::vector&lt;std::string&gt;</code><br />
Nun bearbeite ich den Vektor zeichenweise, indem ich den Wert des chars um eins erhoehe (++). Dann schreibe ich die Datei per <code>std::ofstream</code> auf den Rechner. Wenn ich diese Datei dann wieder einlese (auch wieder zeilenweise - vielleicht hat das ja damit was zu tun...) und die char-Code wieder abziehe (--) und die Datei dann erneut speichere, muss ich feststellen dass bei einigen Dateien Daten verloren gegangen sind... Aber nicht bei allen - nur bei speziellen Sachen wie JPG-Dateien.<br />
Uebrigens, lass ich die char-Erhoehung und Vertiefung weg, laeuft alles glatt.<br />
Der Code ist sehr gross (2000 Zeilen) und durch diverse Klassen gekapselt und da ich nicht wirklich weiss, wo das Problem ist, kann ich auch kein Code-Snippet posten... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Es handelt sich bei dem ganzen Uebrigens um einen Datei-Verschluessler.</p>
<p>So sehen die Verschluesselungsfunktionen aus:</p>
<pre><code>char Cryptor::Encrypt(char s)
{
	return s-1;
}

char Cryptor::Decrypt(char s)
{
	return s+1;
}
</code></pre>
<p>Aber wie gesagt, weiss nicht wirklich wo das Problem ist. Bei meinem letzten Datei-Verschluessler (der sehr viel einfacher gestrickt ist) hat alles geklappt, da ich die Datei zeichenweise eingelesen hab und nicht zeilenweise so wie es jetzt der Fall ist. Vielleicht liegt das Problem ja hier (fuer mein Programm MUSS ich die Datei zeilenweise einlesen).<br />
Hoffe, jemand kann mir helfen. Bin am verzweifeln <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>
<p>Gruss<br />
Cartman</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672327</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672327</guid><dc:creator><![CDATA[Eric Cartman]]></dc:creator><pubDate>Sun, 01 Mar 2009 12:18:30 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien bearbeiten on Sun, 01 Mar 2009 12:25:50 GMT]]></title><description><![CDATA[<p>Hmm. Wie siehts den mit überläufen aus? Also so, dass das +1 die chars zum überlaufen bringt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672331</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672331</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 01 Mar 2009 12:25:50 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien bearbeiten on Sun, 01 Mar 2009 12:30:02 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Hmm. Wie siehts den mit überläufen aus? Also so, dass das +1 die chars zum überlaufen bringt.</p>
</blockquote>
<p>Was soll damit sein? Die chars werden halt, wenn sie am maximum sind (0) zu 255 oder -1 (je nachdem ob char signed oder unsigned darstellt) dekrementiert.<br />
Oder mach ich einen Denkfehler?</p>
<p>Gruss<br />
Cartman</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672334</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672334</guid><dc:creator><![CDATA[Eric Cartman]]></dc:creator><pubDate>Sun, 01 Mar 2009 12:30:02 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien bearbeiten on Sun, 01 Mar 2009 12:51:58 GMT]]></title><description><![CDATA[<p>Ich versteh nicht was dein Problem ist... ich hab auch mal schnell ein getippt, falls es hilft:</p>
<pre><code class="language-cpp">void Decrypt::Checkalphabet(std::string &amp;line, const char *Filename)
{
	std::string new_line = line;
	const char delta = 3;

	std::cout&lt;&lt; (char)16 &lt;&lt; &quot;File wird verschl&quot;&lt;&lt;(char)129&lt;&lt;&quot;sselt...&quot;&lt;&lt;std::endl;

	for(int i=0; i &lt; new_line.length(); i++)
	{
	 new_line[i] += delta;
	}

	std::cout&lt;&lt; (char)16 &lt;&lt; &quot;File wurde erfolgreich verschl&quot;&lt;&lt;(char)129&lt;&lt;&quot;sselt.&quot;&lt;&lt;std::endl;

	ExportFile(new_line, Filename);
};
</code></pre>
<p>EDIT:<br />
Ist das einfache Verschiebechiffre, sollte klar sein...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672346</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672346</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Sun, 01 Mar 2009 12:51:58 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien bearbeiten on Sun, 01 Mar 2009 12:56:23 GMT]]></title><description><![CDATA[<p>way schrieb:</p>
<blockquote>
<p>std::cout&lt;&lt; <strong>(char)16</strong> &lt;&lt; &quot;File wird verschl&quot;&lt;&lt;<strong>(char)129</strong>&lt;&lt;&quot;sselt...&quot;&lt;&lt;std::endl;</p>
</blockquote>
<p>sinn?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672348</guid><dc:creator><![CDATA[profis am werk]]></dc:creator><pubDate>Sun, 01 Mar 2009 12:56:23 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien bearbeiten on Sun, 01 Mar 2009 13:02:01 GMT]]></title><description><![CDATA[<p>Hallo!<br />
Es verschluesselt auch... nur eben nicht jede Datei - und ich frage mich eben warum:</p>
<pre><code class="language-cpp">ofstream outp;
	outp.open(&quot;C:\\tes.txt&quot;, ios::binary|ios::out);
	if (!outp) return 0;
	for (size_t i=0; i&lt;256; i++) {
		outp.write(reinterpret_cast&lt;char*&gt;(&amp;i), 1);
	}
</code></pre>
<p>Die erstellte Datei kann ohne Datenverlust verschluesselt und anschliessend entschluesselt werden... Wies klappt das bei anderen Dateien wie eben z.B. JPG nicht...</p>
<p>Gruss<br />
Cartman</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672351</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672351</guid><dc:creator><![CDATA[Eric Cartman]]></dc:creator><pubDate>Sun, 01 Mar 2009 13:02:01 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien bearbeiten on Sun, 01 Mar 2009 13:24:04 GMT]]></title><description><![CDATA[<p>Ein JPEG solltest du mit <code>ios::binary</code> öffnen. Sobald ein File etwas anderes als Text darstellt, solltest du <code>ios::binary</code> nehmen. Es gibt manchmal Bytecodes, welche das Ende eines Files beschreiben. In einem Textfile mag das sinnvoll sein, in einem binären File allerdings weniger. <code>ios::binary</code> ignoriert einfach alle solchen Codes und gibt dir die Daten wirklich so zurück, wie sie im File sind, ohne sie zu verändern.<br />
<a href="http://www.cplusplus.com/reference/iostream/ios_base/openmode.html" rel="nofollow">http://www.cplusplus.com/reference/iostream/ios_base/openmode.html</a></p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672363</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672363</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 01 Mar 2009 13:24:04 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien bearbeiten on Sun, 01 Mar 2009 13:36:28 GMT]]></title><description><![CDATA[<p>Hallo Dravere!<br />
Danke, aber ich lese die Datei ja binaer.<br />
Mir ist aber bei meienm Test (siehe Post ueber dir) was aufgefallen. Die Enddatei ist leicht veraendert von der Originalen Datei, und zwar befindet sich in der entschluesselten Datei noch eine zusaetzliche Leerzeile, dass so bei anderen entschluesselten Dateien nicht vorkommt.<br />
Der Text laesst sich wegen den Sonderzeichen hier leider nicht kopieren (edit// okay habs geschafft, das erste Zeichen war das Nullzeichen, deswegen gings nich)</p>
<pre><code> 

 !&quot;#$%&amp;'()*+,-./0123456789:;&lt;=&gt;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
</code></pre>
<p>Dies ist die Originaldatei.</p>
<pre><code> 	

 !&quot;#$%&amp;'()*+,-./0123456789:;&lt;=&gt;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
</code></pre>
<p>Und dies die entschluesselte... Jetzt bin ich verwirrt.</p>
<p>Gruss<br />
Cartman</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672369</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672369</guid><dc:creator><![CDATA[Eric Cartman]]></dc:creator><pubDate>Sun, 01 Mar 2009 13:36:28 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien bearbeiten on Sun, 01 Mar 2009 13:38:14 GMT]]></title><description><![CDATA[<p>Eric Cartman schrieb:</p>
<blockquote>
<p>Ich habe eine Datei, die ich per <code>std::ifstream</code> einlese und zwar zeilenweise in einen <code>std::vector&lt;std::string&gt;</code><br />
[...]<br />
Aber nicht bei allen - nur bei speziellen Sachen wie JPG-Dateien.</p>
</blockquote>
<p>Preisfrage: Was bedeutet zeilenweise bei JPG? Was versteht man unter zeilenweise im Sinne der Implementierung von getline?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672370</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672370</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Sun, 01 Mar 2009 13:38:14 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien bearbeiten on Sun, 01 Mar 2009 13:55:54 GMT]]></title><description><![CDATA[<p>Michael E. schrieb:</p>
<blockquote>
<p>Eric Cartman schrieb:</p>
<blockquote>
<p>Ich habe eine Datei, die ich per <code>std::ifstream</code> einlese und zwar zeilenweise in einen <code>std::vector&lt;std::string&gt;</code><br />
[...]<br />
Aber nicht bei allen - nur bei speziellen Sachen wie JPG-Dateien.</p>
</blockquote>
<p>Preisfrage: Was bedeutet zeilenweise bei JPG? Was versteht man unter zeilenweise im Sinne der Implementierung von getline?</p>
</blockquote>
<p>Bis ein newline-Zeichen ('\n') auftritt.. Bei meiner Test-JPG sind es 107 Zeilen. Willst du mir damit etwas bestimmtes sagen? Sorry, ich hab manchmal ne etwas lange Leitung...</p>
<p>Gruss<br />
Cartman</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672377</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672377</guid><dc:creator><![CDATA[Eric Cartman]]></dc:creator><pubDate>Sun, 01 Mar 2009 13:55:54 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien bearbeiten on Sun, 01 Mar 2009 14:07:25 GMT]]></title><description><![CDATA[<p>Binärdateien haben üblicherweise keine Zeilenumbrüche, sie sind einfach nur hintereinander weggeschrieben, das mal ein Zeilenumbruch stattfindet ist ansich nur Purer Zufall weil zB eine 4Byte Zahl mal ein Byte hat das als Char dem Zeilenumbruch entspricht. Deswegen liest man solche Dateien auch immer binär ein und Blockweise, dh nicht eine Zeile auf einmal sondern einen Datenblock von x Bytes.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672384</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672384</guid><dc:creator><![CDATA[Xebov]]></dc:creator><pubDate>Sun, 01 Mar 2009 14:07:25 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien bearbeiten on Sun, 01 Mar 2009 14:19:22 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/19909">@Xebov</a><br />
Aber sie <em>koennen</em> welche haben. Wenn das nicht der Fall ist, waere das auch kein Problem, dann hatte ich eben einen std::vector<a href="std::string" rel="nofollow">std::string</a> mit einem Element... Nur wenn die Datei etwas groesser wird koennte das da Probleme geben...</p>
<p>However, ich konnte mein Problem loesen. Wenn ich eine Datei zeilenweise einlese und verschluessle, muss ich beachten, dass durch die Verschluesselung nicht versehentlich ein newline-Zeichen entsteht, das waer dann bei der weiteren Verarbeitung problematisch...</p>
<pre><code class="language-cpp">char Cryptor::Encrypt(char s)
{
	if (s == 9 || s == 12) s+=2;
	else if (s == 10 || s == 13);
	else ++s;
	return s;
}

char Cryptor::Decrypt(char s)
{
	if (s == 11 || s == 14) s-=2;
	else if (s == 10 || s == 13);
	else --s;
	return s;
}
</code></pre>
<p>Zumindest funktioniert es jetzt so mit meienr JPG-Datei und auch mit der Testdatei...<br />
Danke an euch!</p>
<p>Gruss<br />
Cartman</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672386</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672386</guid><dc:creator><![CDATA[Eric Cartman]]></dc:creator><pubDate>Sun, 01 Mar 2009 14:19:22 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien bearbeiten on Sun, 01 Mar 2009 14:22:53 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/35335">@Eric</a>,<br />
Wie wäre es, wenn du ganz auf die Zeilen verzichtest? Man kann jedes File ohne Probleme über Datenblöcke lesen und beschreiben. Also auch ein Textfile. Dadurch wirst du völlig unabhängig von den &quot;Zeilen&quot;.</p>
<p>Im übrigen noch eine kleine Anmerkung:<br />
Was bei einem Überlauf oder Unterlauf einer Zahl passiert, ist laut Standard nicht definiert, bzw. dem Kompiler überlassen. Daher Vorsicht bei solchen Sachen. Fang sowas lieber ab und mach das gewünschte Verhalten selber.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672388</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672388</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 01 Mar 2009 14:22:53 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien bearbeiten on Sun, 01 Mar 2009 14:26:35 GMT]]></title><description><![CDATA[<p>Dravere schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/35335">@Eric</a>,<br />
Wie wäre es, wenn du ganz auf die Zeilen verzichtest? Man kann jedes File ohne Probleme über Datenblöcke lesen und beschreiben. Also auch ein Textfile. Dadurch wirst du völlig unabhängig von den &quot;Zeilen&quot;.</p>
</blockquote>
<p>Womoeglich... Nur habe ich dabei zwei Probleme... 1. Muesste ich saemtliche Klassen neu bauen oder sie wenigstens bearbeiten. 2. versteh ich nicht wirklich wie das einlesen bestimmter Datenbloecke gemeint ist.</p>
<p>Dravere schrieb:</p>
<blockquote>
<p>Im übrigen noch eine kleine Anmerkung:<br />
Was bei einem Überlauf oder Unterlauf einer Zahl passiert, ist laut Standard nicht definiert, bzw. dem Kompiler überlassen. Daher Vorsicht bei solchen Sachen. Fang sowas lieber ab und mach das gewünschte Verhalten selber.</p>
</blockquote>
<p>Das wusst ich nicht... Danke fuer den Hinweis. Dann bau ich mir das eben selbst schnell zusammen, sollte kein Problem sein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Gruss<br />
Cartman</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672393</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672393</guid><dc:creator><![CDATA[Eric Cartman]]></dc:creator><pubDate>Sun, 01 Mar 2009 14:26:35 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien bearbeiten on Sun, 01 Mar 2009 14:37:58 GMT]]></title><description><![CDATA[<p>Klassen nachzubearbeiten soltle kein großes Problem sein.</p>
<p>Einen Datenblock ist schlicht ein Block aus Daten, du kannst dir zB einen machen der immer genau 200Byte einliest-&gt;verändert-&gt;rausschreibt, das is alles, dabei gilt es nur das Dateiende richtig zu erfassen und die Manipulation abzusichern, um Escapesequenzen mußt du dir dabei keine Sorgen mehr machen. Im übrigen werden Binärdateien immer so gelesen und beschrieben, ich würde dir empfehlen dich in diesem zusammenhang mal über Chunks zu informieren, dann weist du mal wie solche Binärdateien aufgebaut werden und Funktioneiren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672395</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672395</guid><dc:creator><![CDATA[Xebov]]></dc:creator><pubDate>Sun, 01 Mar 2009 14:37:58 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien bearbeiten on Sun, 01 Mar 2009 14:39:26 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">// File öffnen
std::ifstream input(&quot;...&quot;, std::ios::binary | std::ios::in);
std::ofstream output(&quot;...&quot;, std::ios::binary | std::ios::out);

// Unser Datenblock.
std::vector&lt;char&gt; data;
data.resize(4096);

while(input.read(&amp;data[0], data.size())
{
  // Wieviele Daten wurden gelesen?
  if(data.size() &gt; input.tellg())
  { data.resize(input.tellg()); }

  // Bearbeite die Daten.
  edit_data(data);

  output.write(&amp;data[0], data.size());
}
</code></pre>
<p>So ist man völlig unabhängig von irgendwelchen Bytecodes. Und das bearbeiten deiner Klassen sollte ja wirklich kein Problem sein. Das nennt sich schliesslich programmieren <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672398</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672398</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 01 Mar 2009 14:39:26 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien bearbeiten on Sun, 01 Mar 2009 14:58:25 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9752">@Dravere</a><br />
Dankeschoen. Da werd ich heut wohl noch ne Menge zu tun haben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Gruss<br />
Cartman</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672405</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672405</guid><dc:creator><![CDATA[Eric Cartman]]></dc:creator><pubDate>Sun, 01 Mar 2009 14:58:25 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien bearbeiten on Sun, 01 Mar 2009 22:16:44 GMT]]></title><description><![CDATA[<p>Dravere schrieb:</p>
<blockquote>
<p>Im übrigen noch eine kleine Anmerkung:<br />
Was bei einem Überlauf oder Unterlauf einer Zahl passiert, ist laut Standard nicht definiert, bzw. dem Kompiler überlassen. Daher Vorsicht bei solchen Sachen. Fang sowas lieber ab und mach das gewünschte Verhalten selber.</p>
</blockquote>
<p>Nicht ganz, das Verhalten ist nur bei <code>signed</code> -Typen undefiniert.</p>
<p>C++ Standard 3.9.1 schrieb:</p>
<blockquote>
<p>Unsigned integers, declared unsigned, shall obey the laws of arithmetic modulo 2<sup>n</sup> where n is the number of bits in the value representation of that particular size of integer.<sup>41)</sup></p>
<p>________<br />
41) This implies that unsigned arithmetic does not overflow because a result that cannot be represented by the resulting unsigned integer type is reduced modulo the number that is one greater than the largest value that can be represented by the resulting unsigned integer type.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1672555</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672555</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 01 Mar 2009 22:16:44 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien bearbeiten on Mon, 02 Mar 2009 00:05:49 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Nicht ganz, das Verhalten ist nur bei <code>signed</code> -Typen undefiniert.</p>
</blockquote>
<p>Er benutzt ja auch ein <code>char</code> . Wobei du natürlich recht hast. Und mir gerade auffällt, dass ich einen Denkfehler gemacht habe, ein <code>char</code> kann ja theoretisch auch <code>unsigned</code> sein. Ein Standard voller Ausnahmen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672586</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672586</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Mon, 02 Mar 2009 00:05:49 GMT</pubDate></item></channel></rss>