<?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[sizeof?]]></title><description><![CDATA[<p>Hi,</p>
<p>ich lege einfach ein statisches Array an.</p>
<pre><code class="language-cpp">char d[10] // kann aber auch d[100] oder d[1000] sein;
</code></pre>
<p>Jetzt muss ich nur aufpassen (mit sprintf) nicht über's Ziel hinauszuschießen.</p>
<p>Ich möchte einfach die maximale Größe des Arrays herausfinden: hier 10</p>
<pre><code class="language-cpp">char d[10];
int iLen = strlen(d);
</code></pre>
<p>liefert 23 <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>Geht das überhaupt?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/125772/sizeof</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 10:38:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/125772.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 09 Nov 2005 12:32:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to sizeof? on Wed, 09 Nov 2005 12:32:30 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich lege einfach ein statisches Array an.</p>
<pre><code class="language-cpp">char d[10] // kann aber auch d[100] oder d[1000] sein;
</code></pre>
<p>Jetzt muss ich nur aufpassen (mit sprintf) nicht über's Ziel hinauszuschießen.</p>
<p>Ich möchte einfach die maximale Größe des Arrays herausfinden: hier 10</p>
<pre><code class="language-cpp">char d[10];
int iLen = strlen(d);
</code></pre>
<p>liefert 23 <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>Geht das überhaupt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/912686</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/912686</guid><dc:creator><![CDATA[Tanzfreak]]></dc:creator><pubDate>Wed, 09 Nov 2005 12:32:30 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof? on Wed, 09 Nov 2005 12:34:50 GMT]]></title><description><![CDATA[<p>für beliebiges T[N] gilt:<br />
N == sizeof T / sizeof T[0]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/912690</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/912690</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 09 Nov 2005 12:34:50 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof? on Wed, 09 Nov 2005 12:37:49 GMT]]></title><description><![CDATA[<p>Tanzfreak schrieb:</p>
<blockquote>
<pre><code class="language-cpp">char d[10];
int iLen = strlen(d);
</code></pre>
<p>liefert 23 <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>Geht das überhaupt?</p>
</blockquote>
<p>d ist nicht initialisiert, strlen zählt nur die anzahl der zeichen bis zum ersten '\0'<br />
Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/912691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/912691</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Wed, 09 Nov 2005 12:37:49 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof? on Wed, 09 Nov 2005 12:49:33 GMT]]></title><description><![CDATA[<p>Ok, das funktioniert:</p>
<pre><code class="language-cpp">char l[200];
int Size = sizeof l / sizeof l[0]; // Ergebnis 200
</code></pre>
<p>Jetzt übergebe ich l an meine Funktion:</p>
<pre><code class="language-cpp">void DT_String::_sprintf(const char* apsDest,
</code></pre>
<p>Nun ist das Ergebnis plötzlich 4. Hat das was mit dem const zu tun?</p>
<pre><code class="language-cpp">int iMaxSize = sizeof apsDest / sizeof apsDest[0];
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/912705</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/912705</guid><dc:creator><![CDATA[Tanzfreak]]></dc:creator><pubDate>Wed, 09 Nov 2005 12:49:33 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof? on Wed, 09 Nov 2005 12:52:02 GMT]]></title><description><![CDATA[<p>apsDest ist ein pointer, kein array - die grösse von arrays kannst du nur mit arrays berechnen <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/912707</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/912707</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 09 Nov 2005 12:52:02 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof? on Wed, 09 Nov 2005 13:18:26 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/8132">@Tanzfreak</a> wenn du char arrays benutzt solltest du sie auch direkt initialisieren.</p>
<pre><code class="language-cpp">char tmp[200] = {0};
</code></pre>
<p>Wenn du nun möchtest das keiner über das ziel hinausschiesst dann musst du dir die größe merken und mit übergeben</p>
<pre><code class="language-cpp">bool DT_String::Fill( char * str , size_t max_len )
{
   char data[] = &quot;Hallo Welt&quot;;
   // wir achten darauf das max_len groß genug ist (+1 damit die 0 Terminierung mit gerechnet wird )
   if(max_len &lt; strlen(data)+1)
     return false;  
   snprintf( str , data , max_len );
   return true;
}
</code></pre>
<pre><code class="language-cpp">// ein auf 200 Zeichen begrenztes char array anlegen
char buffer[200] = {0};
// char array füllen
dt_string.fill(buffer,200);
// Nun steht in dem char array ( buffer ) &quot;Hallo Welt&quot;
</code></pre>
<p>Aber snprintf oder sprintf sind nicht sonderlich sicher. Daher empfehle ich dir ( wenn es nicht nur zu Lernzwecken sein sollte ( Denn aus Fehlern lernt man ja bekanntlich)) std::string</p>
<pre><code class="language-cpp">// Wir übergeben eine Referenz auf das std::string objekt
void DT_String::Fill( std::string &amp; str )
{
    // Dem string einen neuen String zuweisen
    str = &quot;Hallo Welt&quot;;
}
</code></pre>
<pre><code class="language-cpp">// ein std::string objekt anlegen
std::string str;
// das std::string objekt füllen lassen
dt_str.fill( str );
// jetzt steht in str &quot;Hallo Welt&quot;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/912725</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/912725</guid><dc:creator><![CDATA[evilissimo]]></dc:creator><pubDate>Wed, 09 Nov 2005 13:18:26 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof? on Wed, 09 Nov 2005 13:20:05 GMT]]></title><description><![CDATA[<p>war blödsinn...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/912728</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/912728</guid><dc:creator><![CDATA[geloescht]]></dc:creator><pubDate>Wed, 09 Nov 2005 13:20:05 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof? on Wed, 09 Nov 2005 13:20:18 GMT]]></title><description><![CDATA[<p>geloescht schrieb:</p>
<blockquote>
<p>war blödsinn...</p>
</blockquote>
<p>*g* grad wollte ich dazu was sagen <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/912731</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/912731</guid><dc:creator><![CDATA[evilissimo]]></dc:creator><pubDate>Wed, 09 Nov 2005 13:20:18 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof? on Wed, 09 Nov 2005 14:41:15 GMT]]></title><description><![CDATA[<p>hallo, danke für eure antworten. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /><br />
heute habe ich mal wieder was dazugelernt <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>
]]></description><link>https://www.c-plusplus.net/forum/post/912823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/912823</guid><dc:creator><![CDATA[Tanzfreak]]></dc:creator><pubDate>Wed, 09 Nov 2005 14:41:15 GMT</pubDate></item></channel></rss>