<?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[string in char array das sich auf dem heap befindet]]></title><description><![CDATA[<p>Hier aus einer Klasse folgende Methode:</p>
<pre><code class="language-cpp">void Letters::input()
{
    string temp;
    cin &gt;&gt; temp;
    buffer=new char[temp.length()]; //buffer --&gt; Elementvariable &quot;char *buffer;&quot;
    *buffer=temp.c_str();
}
</code></pre>
<p>ERROR:<br />
C:\MinGW\Andi\char.cpp:23: error: invalid conversion from `const char*' to `char'</p>
<p>Warum gehts das nicht?<br />
Kann man das auch anderst machen, wenn man eine Eingabe in &quot;char&quot; speichern möchte, aber nicht weiß wieviel der Benutzer eingeben wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/195226/string-in-char-array-das-sich-auf-dem-heap-befindet</link><generator>RSS for Node</generator><lastBuildDate>Tue, 29 Sep 2026 22:00:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/195226.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 15 Oct 2007 16:16:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to string in char array das sich auf dem heap befindet on Mon, 15 Oct 2007 16:16:04 GMT]]></title><description><![CDATA[<p>Hier aus einer Klasse folgende Methode:</p>
<pre><code class="language-cpp">void Letters::input()
{
    string temp;
    cin &gt;&gt; temp;
    buffer=new char[temp.length()]; //buffer --&gt; Elementvariable &quot;char *buffer;&quot;
    *buffer=temp.c_str();
}
</code></pre>
<p>ERROR:<br />
C:\MinGW\Andi\char.cpp:23: error: invalid conversion from `const char*' to `char'</p>
<p>Warum gehts das nicht?<br />
Kann man das auch anderst machen, wenn man eine Eingabe in &quot;char&quot; speichern möchte, aber nicht weiß wieviel der Benutzer eingeben wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1385782</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1385782</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Mon, 15 Oct 2007 16:16:04 GMT</pubDate></item><item><title><![CDATA[Reply to string in char array das sich auf dem heap befindet on Mon, 15 Oct 2007 16:32:49 GMT]]></title><description><![CDATA[<p>Das könnte daran liegen dass Du einem char (ein einzelnes Zeichen) einen const char* (einen konstanten Zeiger auf den Anfang einer Zeichenkette) zuweisen möchtest. Das passt mal garnicht <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>
<p>Ich würde direkt mit dem String weiterarbeiten. Warum willst Du hier überhaupt mit nacktem Speicher hantieren? Wenn Du das dennoch machen <strong>musst</strong>, musst Du den String per strcpy in den Buffer kopieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1385789</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1385789</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Mon, 15 Oct 2007 16:32:49 GMT</pubDate></item><item><title><![CDATA[Reply to string in char array das sich auf dem heap befindet on Mon, 15 Oct 2007 16:43:10 GMT]]></title><description><![CDATA[<p>Aso, stimmt. Ich war so fixiert auf den Operator &quot;=&quot;, das ich das ganz vergessen habe, das des nur bei string geht.<br />
Ich will den string, bzw. das char array, in einzelne Buchstbane zerlegen, aber wie das bei strings geht weiß ich nicht (glaub irgendwie mir Iterator oder so? Zumindestens kann ich das so noch nicht, und nutze somit &lt;cstring&gt;).</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1385801</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1385801</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Mon, 15 Oct 2007 16:43:10 GMT</pubDate></item><item><title><![CDATA[Reply to string in char array das sich auf dem heap befindet on Mon, 15 Oct 2007 16:45:40 GMT]]></title><description><![CDATA[<p>Das ist bei std::string genauso einfach wie bei Arrays. str[i] ist das einzelne Zeichen, wobei i natürlich &lt; str.length() sein muss.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1385806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1385806</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Mon, 15 Oct 2007 16:45:40 GMT</pubDate></item><item><title><![CDATA[Reply to string in char array das sich auf dem heap befindet on Mon, 15 Oct 2007 16:48:11 GMT]]></title><description><![CDATA[<p>Ach so läuft der Hase, ja dann is es ja echt einfach.<br />
Danke.</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1385807</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1385807</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Mon, 15 Oct 2007 16:48:11 GMT</pubDate></item><item><title><![CDATA[Reply to string in char array das sich auf dem heap befindet on Mon, 15 Oct 2007 16:53:52 GMT]]></title><description><![CDATA[<p>Bis zuwieviel Buchstaben kann man den eigentlich in einen string reinschreiben?</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1385811</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1385811</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Mon, 15 Oct 2007 16:53:52 GMT</pubDate></item><item><title><![CDATA[Reply to string in char array das sich auf dem heap befindet on Mon, 15 Oct 2007 18:05:12 GMT]]></title><description><![CDATA[<p>So viel du willst (d.h. bis der Hauptspeicher voll ist), da der String intern den Speicher reserviert und nötigenfalls neuen Speicher reserviert.<br />
Darum verwendet man in C++ keine nackten char-Arrays, weil es so schön einfach ist.</p>
<p>Bei 'cin &gt;&gt; str' mußt du nur beachten, daß Leerzeichen als Trenner gelten.<br />
Um eine komplette Zeile zu lesen, kannst du 'getline(cin, str)' benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1385856</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1385856</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Mon, 15 Oct 2007 18:05:12 GMT</pubDate></item><item><title><![CDATA[Reply to string in char array das sich auf dem heap befindet on Tue, 16 Oct 2007 05:51:27 GMT]]></title><description><![CDATA[<p>Th schrieb:</p>
<blockquote>
<p>So viel du willst (d.h. bis der Hauptspeicher voll ist), da der String intern den Speicher reserviert und nötigenfalls neuen Speicher reserviert.</p>
</blockquote>
<p>Genau genommen ein Byte weniger als der Haupspeicher zulässt - schließlich muß der String immer noch in der Lage sein, ein '\0' anzuhängen, wenn das verlangt wird <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> (*klugsch***-Modus aus*)</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/14886">@Stromberg</a>: Dir ist hoffentlich klar, daß das angeforderte Array etwas zu klein ist für deinen String - da fehlt der Platz für den Null-Terminator.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1386025</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1386025</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 16 Oct 2007 05:51:27 GMT</pubDate></item><item><title><![CDATA[Reply to string in char array das sich auf dem heap befindet on Tue, 16 Oct 2007 07:02:47 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Th schrieb:</p>
<blockquote>
<p>So viel du willst (d.h. bis der Hauptspeicher voll ist), da der String intern den Speicher reserviert und nötigenfalls neuen Speicher reserviert.</p>
</blockquote>
<p>Genau genommen ein Byte weniger als der Haupspeicher zulässt - schließlich muß der String immer noch in der Lage sein, ein '\0' anzuhängen, wenn das verlangt wird <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> (*klugsch***-Modus aus*)</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/14886">@Stromberg</a>: Dir ist hoffentlich klar, daß das angeforderte Array etwas zu klein ist für deinen String - da fehlt der Platz für den Null-Terminator.</p>
</blockquote>
<p>?? die länge des strings is doch index(letztes_element) + 1 afaik, des heißt von der größe her sollte des array schon passen, oder hab ich jetz an denkfehler</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1386072</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1386072</guid><dc:creator><![CDATA[Vorden]]></dc:creator><pubDate>Tue, 16 Oct 2007 07:02:47 GMT</pubDate></item><item><title><![CDATA[Reply to string in char array das sich auf dem heap befindet on Tue, 16 Oct 2007 07:05:27 GMT]]></title><description><![CDATA[<p>std::string::size() liefert die tatsächliche Größe des Strings (ohne den für C-Strings nötigen Null-Terminator) zurück. (und der Standard legt nicht einmal feswt, daß die internen Daten von std::string jederzeit Null-terminiert sind - er kann seine Länge auch gesondert verwalten und erst beim c_str()-Aufruf das '\0' anhängen)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1386078</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1386078</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 16 Oct 2007 07:05:27 GMT</pubDate></item><item><title><![CDATA[Reply to string in char array das sich auf dem heap befindet on Tue, 16 Oct 2007 07:06:16 GMT]]></title><description><![CDATA[<p>Wenn Du bei 0 anfängst zu zählen ist die Länge == dem Index des letzten Elements. Dennoch ist der String plus einem Nullbyte ein Byte länger als der String ohne ein Nullbyte...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1386079</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1386079</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 16 Oct 2007 07:06:16 GMT</pubDate></item><item><title><![CDATA[Reply to string in char array das sich auf dem heap befindet on Tue, 16 Oct 2007 12:16:23 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void Letters::input()
{
    std::string tmp;
    std::getline(std::cin, tmp);
    char* buf = new char[tmp.length() + 1];
    std::strcpy(buf, tmp.c_str());
    // use it babe :D 
    delete [] buf;
}
</code></pre>
<p>und gut is <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1386317</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1386317</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Tue, 16 Oct 2007 12:16:23 GMT</pubDate></item></channel></rss>