<?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[Länge von Array über Zeiger abfragen (für eigene string-Funktion)]]></title><description><![CDATA[<p>Hallo zusammen!</p>
<p>Komme bei meinem Problem einfach nicht weiter.</p>
<p>Wenn ich folgendes habe:</p>
<p>char s1[40];</p>
<p>dann kann ich mit sizeof(s1) die Anzahl der Elemente meines Arrays abfragen. Ich erhalte genau 40.</p>
<p>Wie mach ich dass in folgendem Fall:</p>
<p>char* s1 = new char[40];</p>
<p>Wie kann ich hier die Länge meines Array abfragen???<br />
(Brauche ich, um abzufragen, ob genug Platz für einen anderen String ist, den ich da reinkopieren will. Programmiere nämlich die cstring funktionen, als Vorbereitung auf eine Klausur)</p>
<p>Würde mir sehr weiterhelfen, wenn ich das wüsste.</p>
<p>Gruß heine</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/136739/länge-von-array-über-zeiger-abfragen-für-eigene-string-funktion</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 14:05:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/136739.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 12 Feb 2006 19:37:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Länge von Array über Zeiger abfragen (für eigene string-Funktion) on Sun, 12 Feb 2006 19:37:58 GMT]]></title><description><![CDATA[<p>Hallo zusammen!</p>
<p>Komme bei meinem Problem einfach nicht weiter.</p>
<p>Wenn ich folgendes habe:</p>
<p>char s1[40];</p>
<p>dann kann ich mit sizeof(s1) die Anzahl der Elemente meines Arrays abfragen. Ich erhalte genau 40.</p>
<p>Wie mach ich dass in folgendem Fall:</p>
<p>char* s1 = new char[40];</p>
<p>Wie kann ich hier die Länge meines Array abfragen???<br />
(Brauche ich, um abzufragen, ob genug Platz für einen anderen String ist, den ich da reinkopieren will. Programmiere nämlich die cstring funktionen, als Vorbereitung auf eine Klausur)</p>
<p>Würde mir sehr weiterhelfen, wenn ich das wüsste.</p>
<p>Gruß heine</p>
]]></description><link>https://www.c-plusplus.net/forum/post/992563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/992563</guid><dc:creator><![CDATA[heine789]]></dc:creator><pubDate>Sun, 12 Feb 2006 19:37:58 GMT</pubDate></item><item><title><![CDATA[Reply to Länge von Array über Zeiger abfragen (für eigene string-Funktion) on Sun, 12 Feb 2006 19:43:16 GMT]]></title><description><![CDATA[<p>Das geht so nicht. Du musst dir die Länge selbst merken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/992574</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/992574</guid><dc:creator><![CDATA[Ponto]]></dc:creator><pubDate>Sun, 12 Feb 2006 19:43:16 GMT</pubDate></item><item><title><![CDATA[Reply to Länge von Array über Zeiger abfragen (für eigene string-Funktion) on Sun, 12 Feb 2006 19:44:49 GMT]]></title><description><![CDATA[<p>std::vector&lt;char&gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/992577</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/992577</guid><dc:creator><![CDATA[scnr]]></dc:creator><pubDate>Sun, 12 Feb 2006 19:44:49 GMT</pubDate></item><item><title><![CDATA[Reply to Länge von Array über Zeiger abfragen (für eigene string-Funktion) on Sun, 12 Feb 2006 19:50:05 GMT]]></title><description><![CDATA[<p>Vielleicht gehts wenn du mit dem *-Operator auf die Werte zugreifen die der Zeiger gespeichert hat. Dann kannst du einfach die Größe wie bei einem normalen Array herausfinden.</p>
<p>Bsp:<br />
int *pointer1;<br />
int Wert = 1;</p>
<p>pointer1 = &amp;Wert;</p>
<p>cout &lt;&lt; *pointer1 &lt;&lt; endl;</p>
<p>So irgendwie geht das glaube ich</p>
]]></description><link>https://www.c-plusplus.net/forum/post/992585</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/992585</guid><dc:creator><![CDATA[Gnom]]></dc:creator><pubDate>Sun, 12 Feb 2006 19:50:05 GMT</pubDate></item><item><title><![CDATA[Reply to Länge von Array über Zeiger abfragen (für eigene string-Funktion) on Sun, 12 Feb 2006 19:57:19 GMT]]></title><description><![CDATA[<p>Wenn du das Ende des Arrays nicht mit einem Terminatorsymbol markierst, geht es nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/992591</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/992591</guid><dc:creator><![CDATA[interpreter]]></dc:creator><pubDate>Sun, 12 Feb 2006 19:57:19 GMT</pubDate></item><item><title><![CDATA[Reply to Länge von Array über Zeiger abfragen (für eigene string-Funktion) on Sun, 12 Feb 2006 20:40:54 GMT]]></title><description><![CDATA[<p>heine789 schrieb:</p>
<blockquote>
<p>Programmiere nämlich die cstring funktionen, als Vorbereitung auf eine Klausur</p>
</blockquote>
<p>Du willst also die Länge eines C-Strings ermitteln?<br />
Da kannst du dir damit helfen, dass ein C-String mit dem Zeichen '\0' bzw. 0 (nicht '0' <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    />) endet (siehe Post von interpreter).<br />
Also alle Zeichen zählen, bis ein 0 kommt.</p>
<p>PS: zum Aufbau von C-Strings siehe auch <a href="http://www.pronix.de/pronix-735.html" rel="nofollow">hier</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/992641</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/992641</guid><dc:creator><![CDATA[michba]]></dc:creator><pubDate>Sun, 12 Feb 2006 20:40:54 GMT</pubDate></item><item><title><![CDATA[Reply to Länge von Array über Zeiger abfragen (für eigene string-Funktion) on Sun, 12 Feb 2006 21:09:48 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">size_t StringLength( const char* string )
{
  size_t length = 0;
  while( *string++ )
     ++length;
  return length;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/992664</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/992664</guid><dc:creator><![CDATA[GehtSo]]></dc:creator><pubDate>Sun, 12 Feb 2006 21:09:48 GMT</pubDate></item><item><title><![CDATA[Reply to Länge von Array über Zeiger abfragen (für eigene string-Funktion) on Sun, 12 Feb 2006 21:42:02 GMT]]></title><description><![CDATA[<p>Danke GehtSo! Werds gleich mal ausprobieren.<br />
Hier mein kleines Progrämmchen. Vielleicht hat jemand noch einen Verbesserungsvorschlag.</p>
<p>Gruß heine</p>
<pre><code>// string.cpp
#include &lt;iostream&gt;
#include &lt;cstdlib&gt;

using namespace std;

size_t my_strlen(const char* s);
char* my_strcpy(char* s1, const char* s2);
char* my_strcat(char* s1, const char* s2);

int main()
{
	const char* name = &quot;abzdefghijklmnopqrstuvwxyz&quot;;
	char* buffer = new char[100];

	cout &lt;&lt; my_strlen(name) &lt;&lt; '\n';
	cout &lt;&lt; my_strcpy(buffer, &quot;Test-String&quot;) &lt;&lt; '\n';
	cout &lt;&lt; my_strcat(buffer, &quot; Hier kommt der zweite Teil&quot;) &lt;&lt; '\n';

	return 0;
}

size_t my_strlen(const char* s)
{
	size_t t = 0;
	while( *(s + t) != '\0' ) t += 1;

	return t;
}

char* my_strcpy(char* s1, const char* s2)
{
	int i;

	for(i = 0; i &lt; my_strlen(s2); ++i)
	{
		*(s1 + i) = *(s2 + i);
	}

	*(s1 + i) = '\0';	// string abschließen

	return s1;
}

char* my_strcat(char* s1, const char* s2)
{
	int start = my_strlen(s1);	// Position von '\0' im Zielarray ermitteln
	int i;

	for(i = 0; i &lt; my_strlen(s2); ++i)
	{
		*(s1 + start + i) = *(s2 + i);
	}

	*(s1 + start + i) = '\0';	// string abschließen

	return s1;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/992683</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/992683</guid><dc:creator><![CDATA[heine789]]></dc:creator><pubDate>Sun, 12 Feb 2006 21:42:02 GMT</pubDate></item><item><title><![CDATA[Reply to Länge von Array über Zeiger abfragen (für eigene string-Funktion) on Sun, 12 Feb 2006 22:35:45 GMT]]></title><description><![CDATA[<p>Du könntest auch einfach s[t] schreiben statt *(s+t) <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="💡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/992714</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/992714</guid><dc:creator><![CDATA[Any]]></dc:creator><pubDate>Sun, 12 Feb 2006 22:35:45 GMT</pubDate></item><item><title><![CDATA[Reply to Länge von Array über Zeiger abfragen (für eigene string-Funktion) on Sun, 12 Feb 2006 22:42:11 GMT]]></title><description><![CDATA[<p>und statt</p>
<pre><code class="language-cpp">while( *(s + t) != '\0' )
</code></pre>
<p>das:</p>
<pre><code class="language-cpp">while(s[t])
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/992716</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/992716</guid><dc:creator><![CDATA[interpreter]]></dc:creator><pubDate>Sun, 12 Feb 2006 22:42:11 GMT</pubDate></item><item><title><![CDATA[Reply to Länge von Array über Zeiger abfragen (für eigene string-Funktion) on Mon, 13 Feb 2006 10:52:47 GMT]]></title><description><![CDATA[<p>Vielen Dank für eure Hilfe!</p>
<p>Ich wollte auf die Schreibweise mit [] möglichst verzichten.</p>
<p>Zur Vollständigkeit noch meine Version von strcmp:</p>
<pre><code>int my_strcmp(const char* s1, const char *s2)
{
	int n = 0;

	size_t s1length = my_strlen(s1);
	size_t s2length = my_strlen(s2);

	// Den längsten string ermitteln
	n = s1length &lt; s2length ? s2length : s1length;

	for(int i = 0; i &lt; n; ++i)
	{
		if(static_cast&lt;int&gt;(*(s1 + i)) != static_cast&lt;int&gt;(*(s2 + i)))
		{
			if(static_cast&lt;int&gt;(*(s1 + i)) &gt; static_cast&lt;int&gt;(*(s2 + i)))
			{
				return 1;		// s1 ist lexikografisch &gt; s2
			} else {
				return -1;		// s2 ist lexikografisch &lt; s2
			}
		}
	}

	return 0;					// beide strings sind lexikografisch gleich groß
}
</code></pre>
<p>Gruß heine</p>
]]></description><link>https://www.c-plusplus.net/forum/post/992916</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/992916</guid><dc:creator><![CDATA[heine789]]></dc:creator><pubDate>Mon, 13 Feb 2006 10:52:47 GMT</pubDate></item></channel></rss>