<?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[Frage zum Wertebereich von char]]></title><description><![CDATA[<p>Hallo zusammen,<br />
der Datentyp char hat ja einen Wertebereich von 0 - 255. Nun habe ich folgendes kleines Programm:</p>
<pre><code class="language-cpp">#include &lt;iostream.h&gt;
int main ()
{
 char cText[255];
 cout &lt;&lt; &quot;Bitte Text eingeben: &quot;;
 cin.getline(cText,255,'\n');
 cout &lt;&lt; &quot;Der eingegebene Text lautet: &quot; &lt;&lt; cText;
}
</code></pre>
<p>Ich habe gedacht, dass wenn ich nun beispielsweise bei der Methode getline die Größe erhöhe, also statt 255 300 schreibe, dass dann eine Fehlermeldung kommt oder wenn ich einfach das Array auf 300 erhöhe. Jedoch kommt keine Fehlermeldung und das Programm läuft ganz normal! Kann mir jemand sagen, warum dies so ist?</p>
<p>Vielen Dank für eure Hilfe<br />
lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/233302/frage-zum-wertebereich-von-char</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 01:50:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/233302.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 03 Feb 2009 09:33:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zum Wertebereich von char on Tue, 03 Feb 2009 09:33:21 GMT]]></title><description><![CDATA[<p>Hallo zusammen,<br />
der Datentyp char hat ja einen Wertebereich von 0 - 255. Nun habe ich folgendes kleines Programm:</p>
<pre><code class="language-cpp">#include &lt;iostream.h&gt;
int main ()
{
 char cText[255];
 cout &lt;&lt; &quot;Bitte Text eingeben: &quot;;
 cin.getline(cText,255,'\n');
 cout &lt;&lt; &quot;Der eingegebene Text lautet: &quot; &lt;&lt; cText;
}
</code></pre>
<p>Ich habe gedacht, dass wenn ich nun beispielsweise bei der Methode getline die Größe erhöhe, also statt 255 300 schreibe, dass dann eine Fehlermeldung kommt oder wenn ich einfach das Array auf 300 erhöhe. Jedoch kommt keine Fehlermeldung und das Programm läuft ganz normal! Kann mir jemand sagen, warum dies so ist?</p>
<p>Vielen Dank für eure Hilfe<br />
lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1657048</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1657048</guid><dc:creator><![CDATA[freakC++]]></dc:creator><pubDate>Tue, 03 Feb 2009 09:33:21 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Wertebereich von char on Tue, 03 Feb 2009 09:38:58 GMT]]></title><description><![CDATA[<p>Ein <strong>Zeichen</strong> hat einen Wertebereich von 0-255.</p>
<p>Eine <strong>Zeichenkette</strong> kann so lang sein wie Du möchtest und n Zeichen vom Wertebereich 0-255 enthalten.</p>
<p>(Und nebenbei: Ein char kann auch signed sein, dann ist der Wertebereich (mindestens) -127 bis 127)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1657050</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1657050</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 03 Feb 2009 09:38:58 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Wertebereich von char on Tue, 03 Feb 2009 12:20:14 GMT]]></title><description><![CDATA[<p>freakC++ schrieb:</p>
<blockquote>
<p>Hallo zusammen,<br />
der Datentyp char hat ja einen Wertebereich von 0 - 255. Nun habe ich folgendes kleines Programm:</p>
</blockquote>
<p>Wie von freakC++ schon erwähnt kann ein char auch den Wertebereich -128 bis 127 haben, das ist compilerabhängig (char ist nicht das selbe wie signed char, im Gegensatz zu den anderen integralen Typen)</p>
<blockquote>
<p>Ich habe gedacht, dass wenn ich nun beispielsweise bei der Methode getline die Größe erhöhe, also statt 255 300 schreibe, dass dann eine Fehlermeldung kommt oder wenn ich einfach das Array auf 300 erhöhe. Jedoch kommt keine Fehlermeldung und das Programm läuft ganz normal! Kann mir jemand sagen, warum dies so ist?</p>
</blockquote>
<p>Wenn du getline mit 300 aufrufst sagst du der Methode, dass sie <strong>bis zu</strong> 300 Zeichen lesen soll. Wenn du Glück hast, hat die Zeile weniger als 255 Zeichen und getline liest entsprechend wenig ein. Wenn du Pech hast sinds mehr als 254 Zeichen in der Zeile und getline liest sie ein und schreibt vor allem über das Ende deines buffers hinaus. Was dann passiert ist nicht definiert, es kann z.B. passieren dass du dir andere Daten kaputtschreibst oder eine segmentation violation bekommst oder dir die Rücksprungadresse deiner Funktion überschreibst und dein Programm ohne einen Mucks einfach krepiert. Das ist eines der Probleme mit C-Arrays und inkonsistenten oder nicht vorhandenen Längenchecks. Aus dem Grund würde ich hier einen string verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1657169</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1657169</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 03 Feb 2009 12:20:14 GMT</pubDate></item></channel></rss>