<?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[Problem beim einlesen von einem zeichen mit get()]]></title><description><![CDATA[<p>Hi</p>
<p>ich möchte gerne jedes einzelne Zeichen einer Datei einlesen um manuel zu prüfen wann ein trennstring erreicht ist!</p>
<p>Leider klappt das nicht!</p>
<pre><code class="language-cpp">fstream isEin;
char zeichen[1];
isEin.open(OpenDialog1-&gt;FileName.c_str(), ios::in);
while(isEin.is_open() &amp;&amp; isEin.good() &amp;&amp; !isEin.eof())
{
  isEin.get(zeichen,1);
  if(AnsiString(zeichen) != Form2-&gt;txtNewline-&gt;Text[0])
  {
    Line = Line + AnsiString(zeichen);
  }
}
</code></pre>
<p>Leider gibt es einen Fehler beim ausführen und in zeichen steht '\0' was läuft da schief?</p>
<p>THX</p>
<p>Dagsta</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/105568/problem-beim-einlesen-von-einem-zeichen-mit-get</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Jul 2026 14:12:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/105568.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 31 Mar 2005 19:41:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem beim einlesen von einem zeichen mit get() on Thu, 31 Mar 2005 19:41:26 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>ich möchte gerne jedes einzelne Zeichen einer Datei einlesen um manuel zu prüfen wann ein trennstring erreicht ist!</p>
<p>Leider klappt das nicht!</p>
<pre><code class="language-cpp">fstream isEin;
char zeichen[1];
isEin.open(OpenDialog1-&gt;FileName.c_str(), ios::in);
while(isEin.is_open() &amp;&amp; isEin.good() &amp;&amp; !isEin.eof())
{
  isEin.get(zeichen,1);
  if(AnsiString(zeichen) != Form2-&gt;txtNewline-&gt;Text[0])
  {
    Line = Line + AnsiString(zeichen);
  }
}
</code></pre>
<p>Leider gibt es einen Fehler beim ausführen und in zeichen steht '\0' was läuft da schief?</p>
<p>THX</p>
<p>Dagsta</p>
]]></description><link>https://www.c-plusplus.net/forum/post/756767</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/756767</guid><dc:creator><![CDATA[dagsta]]></dc:creator><pubDate>Thu, 31 Mar 2005 19:41:26 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim einlesen von einem zeichen mit get() on Fri, 01 Apr 2005 00:01:25 GMT]]></title><description><![CDATA[<p>Hmm, der Quellcode sieht wenig nach WinAPI aus <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=";D"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/756956</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/756956</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Fri, 01 Apr 2005 00:01:25 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim einlesen von einem zeichen mit get() on Fri, 01 Apr 2005 00:11:32 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile.php?mode=viewprofile&amp;u=431" rel="nofollow">cd9000</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=4" rel="nofollow">WinAPI</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=2" rel="nofollow">Borland C++ Builder (VCL/CLX)</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/756959</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/756959</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Fri, 01 Apr 2005 00:11:32 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim einlesen von einem zeichen mit get() on Fri, 01 Apr 2005 00:19:53 GMT]]></title><description><![CDATA[<p>dagsta schrieb:</p>
<blockquote>
<p>Leider gibt es einen Fehler beim ausführen und in zeichen steht '\0' was läuft da schief?</p>
</blockquote>
<p>&quot;funktioniert nicht&quot; ist keine fehlerbeschreibung... was für ein fehler tritt wo auf?<br />
wegen dem '\0' versuch es doch direkt mit AnsiString</p>
]]></description><link>https://www.c-plusplus.net/forum/post/756962</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/756962</guid><dc:creator><![CDATA[BigNeal]]></dc:creator><pubDate>Fri, 01 Apr 2005 00:19:53 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim einlesen von einem zeichen mit get() on Fri, 01 Apr 2005 13:05:35 GMT]]></title><description><![CDATA[<p>habe den fehler gefunden:</p>
<p>char zeichen;</p>
<p>und isEin.get(zeichen);</p>
<p>funktionieren</p>
]]></description><link>https://www.c-plusplus.net/forum/post/757455</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/757455</guid><dc:creator><![CDATA[dagsta]]></dc:creator><pubDate>Fri, 01 Apr 2005 13:05:35 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim einlesen von einem zeichen mit get() on Fri, 01 Apr 2005 13:14:30 GMT]]></title><description><![CDATA[<p>Interessiert dich die Erklärung wiesos vorher nicht funktioniert hat auch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/757462</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/757462</guid><dc:creator><![CDATA[junix]]></dc:creator><pubDate>Fri, 01 Apr 2005 13:14:30 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim einlesen von einem zeichen mit get() on Fri, 01 Apr 2005 13:35:48 GMT]]></title><description><![CDATA[<p>Wenn die jemand parat hat warum nicht <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/757485</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/757485</guid><dc:creator><![CDATA[dagsta]]></dc:creator><pubDate>Fri, 01 Apr 2005 13:35:48 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim einlesen von einem zeichen mit get() on Fri, 01 Apr 2005 13:42:13 GMT]]></title><description><![CDATA[<p>Weil das, was du vorher verwendet hast ein Array war... ein Array mit einem Element...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/757493</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/757493</guid><dc:creator><![CDATA[Windoof]]></dc:creator><pubDate>Fri, 01 Apr 2005 13:42:13 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim einlesen von einem zeichen mit get() on Fri, 01 Apr 2005 14:03:02 GMT]]></title><description><![CDATA[<p>Windoof schrieb:</p>
<blockquote>
<p>Weil das, was du vorher verwendet hast ein Array war... ein Array mit einem Element...</p>
</blockquote>
<p>Falsch. Das ist nicht der Grund. Aber schön das du auch was beigetragen hast. Es hat zwar eine Beteiligung aber taugt nicht als Erklärung.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1045">@dagsta</a>: Was du da deklariert hattest (char foo[1]) war ein Char-Array welches nur ein Zeichen aufnehmen konnte. C-Strings brauchen aber immer &lt;Anzahl Zeichen&gt; + 1 Bytes um gespeichert zu werden, da ein C-String mit einem \0 (0x00) abgeschlossen werden muss. Dafür ist aber in einem 1 byte grossen Speicherbereich kein Platz.</p>
<p>Das Problem war jetzt folgendes: Der Konstruktor von AnsiString den du mit AnsiString(foo) aufrufst, hat folgende Implementierungen:</p>
<pre><code class="language-cpp">AnsiString(char *string);
AnsiString(char character);
</code></pre>
<p>Für den Compiler ist ein Array allerdings nichts weiter als ein Zeiger auf das erste Element des Arrays. In unserem Fall ist also ein char foo[1] kompatibel mit &quot;char *string&quot;. Der Compiler sucht jetzt den passenden Konstruktor zusammen und findet ihn. Dieser geht aber davon aus einen C-String zu erhalten und sucht verzweifelt nach einem \0 das er dann irgendwo findet.</p>
<p>Durch den Wechsel des Typs von char [] auf char wird nun der Konstruktor genommen der sich bewusst ist, dass das nur 1 Zeichen ist.</p>
<p>Du siehst für dein Problem hätte es 2 Lösungen gegeben: Der Typenwechsel (hier sicher sinnvoll) oder die Erweiterung des Arrays auf 2 Elemente wobei das letzte Fix mit einem \0 initialisiert und nie mehr angetastet wird.</p>
<p>-junix</p>
]]></description><link>https://www.c-plusplus.net/forum/post/757514</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/757514</guid><dc:creator><![CDATA[junix]]></dc:creator><pubDate>Fri, 01 Apr 2005 14:03:02 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim einlesen von einem zeichen mit get() on Fri, 01 Apr 2005 15:15:17 GMT]]></title><description><![CDATA[<p>[do_not_mention,_wrong_thread]<br />
@Tutorial: *LOL* *ROFL* Genial!<br />
[/do_not_mention,_wrong thread]</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/760">@junix</a>:</p>
<p>Tut mir leid, aber vielleicht steh' ich ja auf der Leitung...<br />
Ein</p>
<pre><code class="language-cpp">char foo[1];
</code></pre>
<p>besteht doch aus 2 bytes: foo[0] und foo[1], oder? *brainwashed*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/757576</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/757576</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Fri, 01 Apr 2005 15:15:17 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim einlesen von einem zeichen mit get() on Fri, 01 Apr 2005 15:16:42 GMT]]></title><description><![CDATA[<p>WOW Was für eine erklärung <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<p>Vielen Dank</p>
]]></description><link>https://www.c-plusplus.net/forum/post/757581</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/757581</guid><dc:creator><![CDATA[dagsta]]></dc:creator><pubDate>Fri, 01 Apr 2005 15:16:42 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim einlesen von einem zeichen mit get() on Fri, 01 Apr 2005 15:56:39 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/8250">@swordfish</a> nein, das siehst du falsch.</p>
<p>&lt;type&gt; &lt;varname&gt;[&lt;numberofelements&gt;]</p>
<p>Deshlab ist der höchste Index auch immer &lt;numberofelements&gt;-1.</p>
<p>-junix</p>
<p>P.S:</p>
<p>swordfish schrieb:</p>
<blockquote>
<p>[do_not_mention,_wrong_thread]<br />
@Tutorial: *LOL* *ROFL* Genial!<br />
[/do_not_mention,_wrong thread]</p>
</blockquote>
<p>häh?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/757605</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/757605</guid><dc:creator><![CDATA[junix]]></dc:creator><pubDate>Fri, 01 Apr 2005 15:56:39 GMT</pubDate></item></channel></rss>