<?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[Anzahl der Zeichen]]></title><description><![CDATA[<p>Moin habe gerade ein kleines Problem wollte die anzahl der zeichen der txt datei bestimmen ( nur der ersten zeile )</p>
<p>if (file.good())<br />
{<br />
//ermitteln der länge der ersten zeile:<br />
char *zeile1;<br />
file.getline(zeile1,1024);<br />
int anz = sizeof(zeile1)/sizeof(zeile1[0]); // anzahl</p>
<p>geht leider nicht. weiß einer was falsch ist ?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/274712/anzahl-der-zeichen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 08:45:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/274712.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 01 Oct 2010 09:47:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Anzahl der Zeichen on Fri, 01 Oct 2010 09:47:06 GMT]]></title><description><![CDATA[<p>Moin habe gerade ein kleines Problem wollte die anzahl der zeichen der txt datei bestimmen ( nur der ersten zeile )</p>
<p>if (file.good())<br />
{<br />
//ermitteln der länge der ersten zeile:<br />
char *zeile1;<br />
file.getline(zeile1,1024);<br />
int anz = sizeof(zeile1)/sizeof(zeile1[0]); // anzahl</p>
<p>geht leider nicht. weiß einer was falsch ist ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1959978</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1959978</guid><dc:creator><![CDATA[Hamster]]></dc:creator><pubDate>Fri, 01 Oct 2010 09:47:06 GMT</pubDate></item><item><title><![CDATA[Reply to Anzahl der Zeichen on Fri, 01 Oct 2010 09:52:19 GMT]]></title><description><![CDATA[<p>Hamster schrieb:</p>
<blockquote>
<p>geht leider nicht. weiß einer was falsch ist ?</p>
</blockquote>
<p>Falsch daran ist, das du sizeof() nicht verstanden hast. Wenn du sizeof auf einen Zeiger anwendest bekommst die die Größe des Zeigers geliefert. Was du versuchst funktioniert nur mit Arrays!</p>
<p>Du kannst allerdings z.B. strlen verwenden. Oder die Zeile in ein std::string lesen und dann x.length() nutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1959981</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1959981</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Fri, 01 Oct 2010 09:52:19 GMT</pubDate></item><item><title><![CDATA[Reply to Anzahl der Zeichen on Fri, 01 Oct 2010 10:11:36 GMT]]></title><description><![CDATA[<p>Falsch daran ist erst einmal, dass du für zeile1 keinen Speicher zur Verfügung stellst. zeile1 ist einfach ein Zeiger auf irgendetwas in deinem Speicher. Ein Schreibzugriff auf diesen Bereich kann nur in die Hose gehen. Du solltest zeile1 als char zeile1[1024] deklarieren oder besser gleich auf string ausweichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1959992</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1959992</guid><dc:creator><![CDATA[VF]]></dc:creator><pubDate>Fri, 01 Oct 2010 10:11:36 GMT</pubDate></item><item><title><![CDATA[Reply to Anzahl der Zeichen on Fri, 01 Oct 2010 10:13:52 GMT]]></title><description><![CDATA[<p>if (file.good())<br />
{<br />
//ermitteln der länge der ersten zeile:<br />
char zeile1[1024];<br />
file.getline(zeile1,1024);<br />
int anz =strlen(zeile1);</p>
<p>läuft danke <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1959993</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1959993</guid><dc:creator><![CDATA[Hamster]]></dc:creator><pubDate>Fri, 01 Oct 2010 10:13:52 GMT</pubDate></item><item><title><![CDATA[Reply to Anzahl der Zeichen on Fri, 01 Oct 2010 10:15:01 GMT]]></title><description><![CDATA[<p>Und was ist wenn die Zeile länger als 1024 Characters ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1959996</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1959996</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Fri, 01 Oct 2010 10:15:01 GMT</pubDate></item><item><title><![CDATA[Reply to Anzahl der Zeichen on Fri, 01 Oct 2010 10:15:16 GMT]]></title><description><![CDATA[<p>Außerdem möchte ich vorschlagen, die zeile gar nicht einzulesen, wenn man bloß ihre Länge kennen möchte. Es reicht ja, das Zeilenende im Stream zu suchen, ohne die Zeichen bis dahin irgendwo zu speichern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1959997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1959997</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 01 Oct 2010 10:15:16 GMT</pubDate></item><item><title><![CDATA[Reply to Anzahl der Zeichen on Fri, 01 Oct 2010 11:50:13 GMT]]></title><description><![CDATA[<p>Die Größe wird ja in Byte übergeben, und zwar inklusive der abschließenden 0. Wenn also 1024 übergeben wird, dann sollten die ersten 1023 Zeichen, wenn vorhanden, eingelesen und das Array mit einer 0 terminiert werden.<br />
Und klar, wenn man nur die Länge der ersten Zeile haben möchte, dann kann man natürlich zeichenweise bis zum ersten Auffinden von '\n' lesen. Ich bin mir aber sicher, dass der Threadersteller irgendetwas mit dem Inhalt der Zeile anfangen möchte, nur die Länge zu bestimmen ist ja ziemlich uninterresant.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1960033</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1960033</guid><dc:creator><![CDATA[VF]]></dc:creator><pubDate>Fri, 01 Oct 2010 11:50:13 GMT</pubDate></item><item><title><![CDATA[Reply to Anzahl der Zeichen on Fri, 01 Oct 2010 11:52:45 GMT]]></title><description><![CDATA[<p>Ach ja, ich habe ihm ja (ebenfalls) die Verwendung von string empfohlen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1960034</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1960034</guid><dc:creator><![CDATA[VF]]></dc:creator><pubDate>Fri, 01 Oct 2010 11:52:45 GMT</pubDate></item><item><title><![CDATA[Reply to Anzahl der Zeichen on Fri, 01 Oct 2010 11:54:47 GMT]]></title><description><![CDATA[<p>VF schrieb:</p>
<blockquote>
<p>Die Größe wird ja in Byte übergeben, und zwar inklusive der abschließenden 0. Wenn also 1024 übergeben wird, dann sollten die ersten 1023 Zeichen, wenn vorhanden, eingelesen und das Array mit einer 0 terminiert werden.<br />
Und klar, wenn man nur die Länge der ersten Zeile haben möchte, dann kann man natürlich zeichenweise bis zum ersten Auffinden von '\n' lesen. Ich bin mir aber sicher, dass der Threadersteller irgendetwas mit dem Inhalt der Zeile anfangen möchte, nur die Länge zu bestimmen ist ja ziemlich uninterresant.</p>
</blockquote>
<p>Trotzdem sollte man es dann gleich richtig machen und sich nicht selber die magische Schranke 1023 auferlegen. Zumal die Lösung mit einer dynamischen Länge auch noch <strong>einfacher</strong> ist.</p>
<p>edit:</p>
<p>VF schrieb:</p>
<blockquote>
<p>Ach ja, ich habe ihm ja (ebenfalls) die Verwendung von string empfohlen.</p>
</blockquote>
<p>Das hatte ich noch nicht gelesen, als ich geantwortet habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1960035</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1960035</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 01 Oct 2010 11:54:47 GMT</pubDate></item></channel></rss>