<?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[&amp;quot;&#x5C;0&amp;quot; in AnsiString schreiben]]></title><description><![CDATA[<p>Hallo,</p>
<p>das Zeichen '\0' wird bei einem AnsiString ja als Stringende gewertet.<br />
Nun habe ich das Problem, dass ich genau dieses Zeichen IN einen String schreiben will (danach kommen also noch weitere Zeichen).<br />
Wenn man nun einfach sagt…</p>
<pre><code class="language-cpp">AnsiString wort;

…

wort += &quot;\0&quot;;
</code></pre>
<p>… dann fügt er gar nichts hinzu.</p>
<p>Ich weiß, dass ich zuerst einen Backslash und danach eine 0 schreiben könnte, aber das sind ja dann zwei Zeichen. Ich brauche es aber so, dass es nur ein Zeichen ist.</p>
<p>Ich hoffe ihr versteht was ich meine <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="🙂"
    /> und habt eine Idee, ob / wie das möglich ist.</p>
<p>Gruß<br />
Junimond</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/154450/quot-0-quot-in-ansistring-schreiben</link><generator>RSS for Node</generator><lastBuildDate>Sun, 09 Aug 2026 17:38:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/154450.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 27 Jul 2006 11:11:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to &amp;quot;&#x5C;0&amp;quot; in AnsiString schreiben on Thu, 27 Jul 2006 11:11:35 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>das Zeichen '\0' wird bei einem AnsiString ja als Stringende gewertet.<br />
Nun habe ich das Problem, dass ich genau dieses Zeichen IN einen String schreiben will (danach kommen also noch weitere Zeichen).<br />
Wenn man nun einfach sagt…</p>
<pre><code class="language-cpp">AnsiString wort;

…

wort += &quot;\0&quot;;
</code></pre>
<p>… dann fügt er gar nichts hinzu.</p>
<p>Ich weiß, dass ich zuerst einen Backslash und danach eine 0 schreiben könnte, aber das sind ja dann zwei Zeichen. Ich brauche es aber so, dass es nur ein Zeichen ist.</p>
<p>Ich hoffe ihr versteht was ich meine <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="🙂"
    /> und habt eine Idee, ob / wie das möglich ist.</p>
<p>Gruß<br />
Junimond</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105269</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105269</guid><dc:creator><![CDATA[junimond]]></dc:creator><pubDate>Thu, 27 Jul 2006 11:11:35 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;&#x5C;0&amp;quot; in AnsiString schreiben on Thu, 27 Jul 2006 11:21:35 GMT]]></title><description><![CDATA[<p>M.E. nicht möglich</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105278</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105278</guid><dc:creator><![CDATA[Christian411]]></dc:creator><pubDate>Thu, 27 Jul 2006 11:21:35 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;&#x5C;0&amp;quot; in AnsiString schreiben on Thu, 27 Jul 2006 11:22:37 GMT]]></title><description><![CDATA[<p>eventuell</p>
<pre><code class="language-cpp">&quot;\\0&quot;
</code></pre>
<p><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="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105281</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105281</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 27 Jul 2006 11:22:37 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;&#x5C;0&amp;quot; in AnsiString schreiben on Thu, 27 Jul 2006 11:28:50 GMT]]></title><description><![CDATA[<p>wort += '\0';</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105288</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105288</guid><dc:creator><![CDATA[;;;]]></dc:creator><pubDate>Thu, 27 Jul 2006 11:28:50 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;&#x5C;0&amp;quot; in AnsiString schreiben on Thu, 27 Jul 2006 11:36:57 GMT]]></title><description><![CDATA[<p>1310-Logik schrieb:</p>
<blockquote>
<p>eventuell</p>
<pre><code class="language-cpp">&quot;\\0&quot;
</code></pre>
<p><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="😕"
    /></p>
</blockquote>
<p>Hallo,</p>
<p>danke für den Tipp, aber dann wird es auch als zwei Zeichen gespeichert.</p>
<p>Vielleicht sollte ich mal kurz den Hintergrund erklären: Ich verschlüssele eine Datei mit dem AES-Algorithmus. In einem anderen Programm lese ich die Datei dann ein und entschlüssele sie.</p>
<p>Nun kommt es vor, dass in dem verschlüsselten String ein '\0' vorkommt. Wenn ich diese Zeichenkette dann versuche zu entschlüsseln, &quot;fehlt&quot; das \0, genau wie in dem Code-Beispiel, was ich geschrieben hatte (wird nicht hinzugefügt). Und dann funktioniert die Entschlüsselung nicht mehr.</p>
<p>Na ja, aber wenn das nicht geht, dann muss ich mir was anderes einfallen lassen.</p>
<p>Gruß<br />
Junimond</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105300</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105300</guid><dc:creator><![CDATA[junimond]]></dc:creator><pubDate>Thu, 27 Jul 2006 11:36:57 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;&#x5C;0&amp;quot; in AnsiString schreiben on Thu, 27 Jul 2006 11:37:35 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>das geht nicht</p>
<pre><code class="language-cpp">AnsiString test = &quot;Test&quot;;
  test += &quot;\0&quot;;
  test += &quot;Text&quot;;
  Label1-&gt;Caption = test;
  Label2-&gt;Caption = IntToStr(test.Length());
</code></pre>
<p>Ergebnis : &quot;TestText&quot;, 8 Zeichen</p>
<pre><code class="language-cpp">AnsiString test = &quot;Test&quot;;
  test += '\0';
  test += &quot;Text&quot;;
  Label1-&gt;Caption = test;
  Label2-&gt;Caption = IntToStr(test.Length());
</code></pre>
<p>Ergebnis : &quot;Test&quot;, 9 Zeichen</p>
<p>So oder so hat '\0' in AnsiStrings nichts zu suchen. Denn intern verwendet AnsiString C-Strings, und die sind Null-Terminiert.</p>
<p>Wenn du trotzdem den 0-Wert in einer Zeichenkette haben willst, must du STreams wie <em>std::stringstream</em> verwenden.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105301</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105301</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 27 Jul 2006 11:37:35 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;&#x5C;0&amp;quot; in AnsiString schreiben on Thu, 27 Jul 2006 11:42:49 GMT]]></title><description><![CDATA[<p>;;; schrieb:</p>
<blockquote>
<p>wort += '\0';</p>
</blockquote>
<p>Juhuu, das funktioniert! <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>Danke lieber Unregistrierter, du bist mein Held. <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="👍"
    /></p>
<p>EDIT: <a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/7971">@akari</a>: hmm, ich verstehe was du meinst. aber mit &quot;wort += '\0';&quot; funktioniert meine Entschlüsselung, und darum gings mir ja.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105304</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105304</guid><dc:creator><![CDATA[junimond]]></dc:creator><pubDate>Thu, 27 Jul 2006 11:42:49 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;&#x5C;0&amp;quot; in AnsiString schreiben on Thu, 27 Jul 2006 11:40:17 GMT]]></title><description><![CDATA[<blockquote>
<p>Nun kommt es vor, dass in dem verschlüsselten String ein '\0' vorkommt. Wenn ich diese Zeichenkette dann versuche zu entschlüsseln, &quot;fehlt&quot; das \0, genau wie in dem Code-Beispiel, was ich geschrieben hatte (wird nicht hinzugefügt). Und dann funktioniert die Entschlüsselung nicht mehr.</p>
</blockquote>
<p>Ist ja auch die falsche Vorgehensweise. Es handelt sich mitnichten um Strings. Vielmehr handelt es sich um Speicherbereiche. Die kann man nicht einfach als String ansehen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105305</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105305</guid><dc:creator><![CDATA[Christian411]]></dc:creator><pubDate>Thu, 27 Jul 2006 11:40:17 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;&#x5C;0&amp;quot; in AnsiString schreiben on Thu, 27 Jul 2006 11:41:35 GMT]]></title><description><![CDATA[<p>junimond schrieb:</p>
<blockquote>
<p>;;; schrieb:</p>
<blockquote>
<p>wort += '\0';</p>
</blockquote>
<p>Juhuu, das funktioniert! <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>Danke lieber Unregistrierter, du bist mein Held. <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="👍"
    /></p>
</blockquote>
<p>Ähhh, trotz 2er Hinweise, dass das nicht geht???</p>
<p>Seltsam</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105308</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105308</guid><dc:creator><![CDATA[Christian411]]></dc:creator><pubDate>Thu, 27 Jul 2006 11:41:35 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;&#x5C;0&amp;quot; in AnsiString schreiben on Thu, 27 Jul 2006 11:51:32 GMT]]></title><description><![CDATA[<p>Es geht doch. Das sieht man doch an akaris zweitem Beispiel. Der String ist 9 Zeichen lang, so wie es gewünscht ist. AnsiString orientiert sich eben nicht an der 0 Terminierung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105312</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105312</guid><dc:creator><![CDATA[hmmm?]]></dc:creator><pubDate>Thu, 27 Jul 2006 11:51:32 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;&#x5C;0&amp;quot; in AnsiString schreiben on Thu, 27 Jul 2006 12:03:15 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>es scheint soweit zu laufen, solange nur AnsiString verwendet wird. Spätestens aber bei verwenden von c_str() fehlt dann aber etwas.</p>
<p>Fakt ist das für solche Sachen Streams die richige Wahl sind.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105317</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105317</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 27 Jul 2006 12:03:15 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;&#x5C;0&amp;quot; in AnsiString schreiben on Thu, 27 Jul 2006 12:07:36 GMT]]></title><description><![CDATA[<blockquote>
<p>Spätestens aber bei verwenden von c_str() fehlt dann aber etwas.</p>
</blockquote>
<p>Auch das ist kein Problem wenn man sich noch die Länge des Strings merkt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105319</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105319</guid><dc:creator><![CDATA[c_str()]]></dc:creator><pubDate>Thu, 27 Jul 2006 12:07:36 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;&#x5C;0&amp;quot; in AnsiString schreiben on Thu, 27 Jul 2006 12:12:12 GMT]]></title><description><![CDATA[<p>Ok, warten wir ab, wie lange junimond braucht, um festzustellen, dass es doch nicht so richtig funktioniert...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105325</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 27 Jul 2006 12:12:12 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;&#x5C;0&amp;quot; in AnsiString schreiben on Thu, 27 Jul 2006 12:41:42 GMT]]></title><description><![CDATA[<blockquote>
<p>Auch das ist kein Problem wenn man sich noch die Länge des Strings merkt.</p>
</blockquote>
<p>Wozu einfach, wenn es auch kompliziert geht und auch noch ein konzeptioneller Fehler vorliegt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105354</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105354</guid><dc:creator><![CDATA[Christian411]]></dc:creator><pubDate>Thu, 27 Jul 2006 12:41:42 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;&#x5C;0&amp;quot; in AnsiString schreiben on Thu, 27 Jul 2006 13:02:44 GMT]]></title><description><![CDATA[<p>Solche Strings braucht man manchmal für WinAPI Funktionen. Dort werden einzelne Teilstrings mit \0 terminiert und mit einem leeren Teil-String wird das Ende signalisiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105369</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105369</guid><dc:creator><![CDATA[hin]]></dc:creator><pubDate>Thu, 27 Jul 2006 13:02:44 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;&#x5C;0&amp;quot; in AnsiString schreiben on Thu, 27 Jul 2006 13:14:12 GMT]]></title><description><![CDATA[<p>a) sind das keine Strings, sondern chars (zur Erinnerung ein C/C++ Datentyp)<br />
b) wurde doch darauf hingewiesen, dass String intern mit chars arbeitet</p>
<blockquote>
<p>Dort werden einzelne Teilstrings mit \0 terminiert und mit einem leeren Teil-String wird das Ende signalisiert.</p>
</blockquote>
<p>Was könnte ein leerer Teilstring sein??</p>
<p>Fakt ist, dass in chars ein \0 das Ende darstellt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105382</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105382</guid><dc:creator><![CDATA[Christian411]]></dc:creator><pubDate>Thu, 27 Jul 2006 13:14:12 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;&#x5C;0&amp;quot; in AnsiString schreiben on Thu, 27 Jul 2006 13:43:56 GMT]]></title><description><![CDATA[<p>Christian411 schrieb:</p>
<blockquote>
<p>Fakt ist, dass in chars ein \0 das Ende darstellt.</p>
</blockquote>
<p>Und in AnsiStrings auch, wie akaris Beispiel zeigt. Keine VCL-Funktion wird den AnsiString weiter als bis zum \0 abarbeiten, egal welche Größe in AnsiString[0] angegeben wird. Ergo kann er nichts mit dem so modifizerten AnsiString machen.</p>
<p>Würde mich noch interessieren, welche WinAPI-Funktion(en) solche Strings erwarten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105412</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105412</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 27 Jul 2006 13:43:56 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;&#x5C;0&amp;quot; in AnsiString schreiben on Thu, 27 Jul 2006 14:01:36 GMT]]></title><description><![CDATA[<blockquote>
<p>Würde mich noch interessieren, welche WinAPI-Funktion(en) solche Strings erwarten.</p>
</blockquote>
<p>Vermutlich ist hier doch ein Zeiger auf char gemeint?!?(AnsiString.c_str())</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105423</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105423</guid><dc:creator><![CDATA[Christian411]]></dc:creator><pubDate>Thu, 27 Jul 2006 14:01:36 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;&#x5C;0&amp;quot; in AnsiString schreiben on Thu, 27 Jul 2006 14:08:07 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Joe meint wohl diese Bemerkung</p>
<p>hin schrieb:</p>
<blockquote>
<p>Solche Strings braucht man manchmal für WinAPI Funktionen. Dort werden einzelne Teilstrings mit \0 terminiert und mit einem leeren Teil-String wird das Ende signalisiert.</p>
</blockquote>
<p>Kenne auch keine Funktion, die sowas erwartet. Denn ein char* array[] ist das jedenfalls nicht.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105428</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 27 Jul 2006 14:08:07 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;&#x5C;0&amp;quot; in AnsiString schreiben on Thu, 27 Jul 2006 15:18:13 GMT]]></title><description><![CDATA[<p>SHFILEOPSTRUCT für SHFileOperation erwartet solche Formate in pFrom bzw. pTo. AnsiString ist für sowas aber natürlich falsch. Ein normaler char* tuts hier am besten. Immer vorausgesetzt, dass man auf ein solches char-Array kein string-Funktionen anwendet (aus string.h).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105480</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 27 Jul 2006 15:18:13 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;&#x5C;0&amp;quot; in AnsiString schreiben on Fri, 28 Jul 2006 05:53:45 GMT]]></title><description><![CDATA[<p>Ja richtig, aber dann spricht man üblicherweise voen einem doppelt terminierten char -&gt; jedenfalls so etwas in der Richtung; keinesfalls von einem leeren Teilstring</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105786</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105786</guid><dc:creator><![CDATA[Christian411]]></dc:creator><pubDate>Fri, 28 Jul 2006 05:53:45 GMT</pubDate></item></channel></rss>