<?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[Text Binär abspeichern]]></title><description><![CDATA[<p>Hallo!<br />
Ich hab folgendes Problem:<br />
Und zwar möchte ich nehmen wir mal an Einen Text aus einem String in einem File<br />
speichern, soweit so gut nur sollte es den Text im File binär speichern sprich<br />
es sollte im Text dann nicht &quot;Testtext&quot; stehen sondern nur 0en und 1en entsprechend dem Text.</p>
<p>Das man jedes einzelnes char zeichen des Stringes mit</p>
<pre><code class="language-cpp">itoa(Asciizahl, bin, 2);
</code></pre>
<p>umwandeln kann ist mir klar doch dachte ich eher<br />
an eine möglichkeit das den compiler automatisch machen zu lassen da er doch auch<br />
mit</p>
<pre><code class="language-cpp">fopen(&quot;PFAD&quot;,&quot;wb&quot;);
</code></pre>
<p>er den Text binär überträgt und ins File speichert oder ihre ich mich da?<br />
Also suche ich ne möglichkeit meinen text ins file zu speichern und zwar so das er dort binär vorhanden ist.</p>
<p>mfg Exigo</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/189654/text-binär-abspeichern</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 09:46:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/189654.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 15 Aug 2007 13:09:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Text Binär abspeichern on Wed, 15 Aug 2007 13:09:36 GMT]]></title><description><![CDATA[<p>Hallo!<br />
Ich hab folgendes Problem:<br />
Und zwar möchte ich nehmen wir mal an Einen Text aus einem String in einem File<br />
speichern, soweit so gut nur sollte es den Text im File binär speichern sprich<br />
es sollte im Text dann nicht &quot;Testtext&quot; stehen sondern nur 0en und 1en entsprechend dem Text.</p>
<p>Das man jedes einzelnes char zeichen des Stringes mit</p>
<pre><code class="language-cpp">itoa(Asciizahl, bin, 2);
</code></pre>
<p>umwandeln kann ist mir klar doch dachte ich eher<br />
an eine möglichkeit das den compiler automatisch machen zu lassen da er doch auch<br />
mit</p>
<pre><code class="language-cpp">fopen(&quot;PFAD&quot;,&quot;wb&quot;);
</code></pre>
<p>er den Text binär überträgt und ins File speichert oder ihre ich mich da?<br />
Also suche ich ne möglichkeit meinen text ins file zu speichern und zwar so das er dort binär vorhanden ist.</p>
<p>mfg Exigo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345039</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345039</guid><dc:creator><![CDATA[Exigo]]></dc:creator><pubDate>Wed, 15 Aug 2007 13:09:36 GMT</pubDate></item><item><title><![CDATA[Reply to Text Binär abspeichern on Wed, 15 Aug 2007 13:12:13 GMT]]></title><description><![CDATA[<p>Ich glaube, du hast eine falsche Vorstellung von &quot;Binärdaten&quot; - der Computer arbeitet nur mit Nullen und Einsen (allerdings fasst er diese zu größeren Gruppen zusammen, die er geschlossen betrachtet - so wird aus 8 einzelnen Ziffern ein Buchstabe).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345044</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345044</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 15 Aug 2007 13:12:13 GMT</pubDate></item><item><title><![CDATA[Reply to Text Binär abspeichern on Wed, 15 Aug 2007 13:17:59 GMT]]></title><description><![CDATA[<p>Soweit war mir das schon klar nur mein ich jetzt ausschließlich den Text im FIle selber. Nehmen wir an ich hab ein Test.txt und einen string wo &quot;Testtext&quot; drinnen steht.</p>
<p>In das Textfile speicher ich jetzt meinen string ab mit von mir aus</p>
<pre><code class="language-cpp">fprintf(stream,&quot;%s&quot;,string);
</code></pre>
<p>nun steht im Test.txt Testtext drinen.</p>
<p>Ich will jetzt erreichen das im Test.txt &quot;Testtext&quot; drinnen steht nur halt mit den entsprechenden 0en und 1en.</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345049</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345049</guid><dc:creator><![CDATA[Exigo]]></dc:creator><pubDate>Wed, 15 Aug 2007 13:17:59 GMT</pubDate></item><item><title><![CDATA[Reply to Text Binär abspeichern on Wed, 15 Aug 2007 13:21:32 GMT]]></title><description><![CDATA[<p>In der Datei steht doch eine Folge von Nullen und Einsen - nur jeweils 8 zusammengequetscht zu einem Zeichen. Wenn du die direkt sehen willst, mußt du die Datei auch wieder einlesen und die Bits einzeln betrachten.</p>
<p>Wenn du die Datei als Folge von ASCII-Zeichen '0' und '1' haben willst, ist Handarbeit gefragt - eventuell kannst du noch Hilfe von einem bitset&lt;&gt; bekommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345055</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345055</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 15 Aug 2007 13:21:32 GMT</pubDate></item><item><title><![CDATA[Reply to Text Binär abspeichern on Wed, 15 Aug 2007 13:25:20 GMT]]></title><description><![CDATA[<blockquote>
<p>Wenn du die Datei als Folge von ASCII-Zeichen '0' und '1' haben willst, ist Handarbeit gefragt - eventuell kannst du noch Hilfe von einem bitset&lt;&gt; bekommen.</p>
</blockquote>
<p>Genau das meinte ich <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="🙂"
    /><br />
Ok die Lösung mit der Handarbeit hatte ich schon wollte blos wissen obs ne schnellere variante gibt die vlt im compiler schon integriert ist trotzdem danke!</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345061</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345061</guid><dc:creator><![CDATA[Danke]]></dc:creator><pubDate>Wed, 15 Aug 2007 13:25:20 GMT</pubDate></item><item><title><![CDATA[Reply to Text Binär abspeichern on Wed, 15 Aug 2007 14:38:25 GMT]]></title><description><![CDATA[<p>Es gibt sogenannte bitfelder, in denen man dem Compiler sagen kann, dass ein integer in einem Struct nur N bits belegt. Beispiel:</p>
<pre><code class="language-cpp">struct BitsImByte
{
 unsigned int bit1 : 1; //bit1 belegt nur 1 bit
 unsigned int bit2 : 1;
 unsigned int bit3 : 1;
 unsigned int bit4 : 1;
 unsigned int bit5 : 1;
 unsigned int bit6 : 1;
 unsigned int bit7 : 1;
 unsigned int bit8 : 1;
};
</code></pre>
<p>Das Ding sollte nur einen Byte (8 bit) Speicher belegen.<br />
In Zusammenarbeit mit einem union laesst sich da vielleicht was schnelles reissen:</p>
<pre><code class="language-cpp">union {
char c;
BitsImByte bits;
} bbc;

std::string str = &quot;holla die Waldfee&quot;;
for (int i = 0; i &lt; str.length(); i++) {
  bbc.c = str[i];
  cout &lt;&lt; bbc.bits.bit1
       &lt;&lt; bbc.bits.bit2
       &lt;&lt; bbc.bits.bit3
       &lt;&lt; bbc.bits.bit4
       &lt;&lt; bbc.bits.bit5
       &lt;&lt; bbc.bits.bit6
       &lt;&lt; bbc.bits.bit7
       &lt;&lt; bbc.bits.bit8
       &lt;&lt; ' ';
  }
cout &lt;&lt; endl;
</code></pre>
<p>In einer union teilen sich alle member den selben Speicher. sprich: bbc belegt 1 byte, wobei bbc.c diesen byte als char interpretiert, bbc.bits jedoch als BitsImByte struct mit 8 einzelnen Bits. Im obrigen Schnipsel wird also erst das byte gesetzt so wie der Compiler den einzelen char interpretiert, danach dann jedes einzelne bit ausgegeben. Vorsicht: es handelt sich hierbei um 0 und 1, nicht um '0' und '1'. cout wandelt die unsigned ints nur in lesbare Zeichen um.</p>
<p>Ich weiss allerdings leider nicht, wieviel davon vom Standard garantiert wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345119</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345119</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 15 Aug 2007 14:38:25 GMT</pubDate></item><item><title><![CDATA[Reply to Text Binär abspeichern on Thu, 16 Aug 2007 06:26:49 GMT]]></title><description><![CDATA[<p>Vermutlich ist schon der Ansatz nicht standardkonform - in einer union hat nur das Element gültige Werte, das als letztes gefüllt wurde.</p>
<p>Aber es gibt eine Klasse, mit der man das Problem wesentlich eleganter lösen kann - bitset&lt;&gt;:</p>
<pre><code class="language-cpp">std::string str = &quot;holla die Waldfee&quot;;
for (int i = 0; i &lt; str.length(); i++) {
  std::bitset&lt;8&gt; bin = str[i];
  cout &lt;&lt; bin &lt;&lt; ' ';
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1345473</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345473</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 16 Aug 2007 06:26:49 GMT</pubDate></item><item><title><![CDATA[Reply to Text Binär abspeichern on Thu, 16 Aug 2007 07:50:16 GMT]]></title><description><![CDATA[<p>In manchen momenten verfluche ich C++ und seine Logik!<br />
Aber in Momenten wie diesen kann ich nur sagen:Ein<br />
hoch auch die C++-Standard-library!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345521</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345521</guid><dc:creator><![CDATA[Basingstoke]]></dc:creator><pubDate>Thu, 16 Aug 2007 07:50:16 GMT</pubDate></item></channel></rss>