<?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[Typumwandlung bei Array !]]></title><description><![CDATA[<p>Hallo zusammen ;),</p>
<p>wisst ihr wie man Arrays castet also z.b. Int in String oder noch besser Int in CString ?</p>
<p>Vielen Dank für eure Mühe<br />
ShadowEater</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/186379/typumwandlung-bei-array</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 08:11:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/186379.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 08 Jul 2007 11:27:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Typumwandlung bei Array ! on Sun, 08 Jul 2007 11:27:20 GMT]]></title><description><![CDATA[<p>Hallo zusammen ;),</p>
<p>wisst ihr wie man Arrays castet also z.b. Int in String oder noch besser Int in CString ?</p>
<p>Vielen Dank für eure Mühe<br />
ShadowEater</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1320614</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320614</guid><dc:creator><![CDATA[ShadowEater]]></dc:creator><pubDate>Sun, 08 Jul 2007 11:27:20 GMT</pubDate></item><item><title><![CDATA[Reply to Typumwandlung bei Array ! on Sun, 08 Jul 2007 11:47:56 GMT]]></title><description><![CDATA[<p>itoa</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1320633</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320633</guid><dc:creator><![CDATA[{.}]]></dc:creator><pubDate>Sun, 08 Jul 2007 11:47:56 GMT</pubDate></item><item><title><![CDATA[Reply to Typumwandlung bei Array ! on Sun, 08 Jul 2007 11:58:03 GMT]]></title><description><![CDATA[<p>ShadowEater schrieb:</p>
<blockquote>
<p>Hallo zusammen ;),<br />
wisst ihr wie man Arrays castet also z.b. Int in String oder noch besser Int in CString ?<br />
ShadowEater</p>
</blockquote>
<pre><code class="language-cpp">int a[100];
    char* bptr = (char*)a;
</code></pre>
<p>Zeiger casten und als char-Array ansprechen zb.</p>
<pre><code class="language-cpp">bptr[399] = '\0';
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1320640</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320640</guid><dc:creator><![CDATA[willy]]></dc:creator><pubDate>Sun, 08 Jul 2007 11:58:03 GMT</pubDate></item><item><title><![CDATA[Reply to Typumwandlung bei Array ! on Sun, 08 Jul 2007 12:21:00 GMT]]></title><description><![CDATA[<p>Ich bin mir nicht sicher, was mit Arrays gemeint ist, aber Casten zwischen Int und String geht unter C++ mit folgenden Funktionen:</p>
<pre><code class="language-cpp">template &lt;typename To, typename From&gt;
bool try_lexical_cast(From const&amp; from, To* to)
{
    std::stringstream interpreter;
    return interpreter &lt;&lt; from and interpreter &gt;&gt; *to and interpreter.eof();
}

struct invalid_cast : std::logic_error {
    invalid_cast() : std::logic_error(&quot;Invalid cast.&quot;) { }
};

template &lt;typename To, typename From&gt;
To lexical_cast(From const&amp; from)
{
    To ret;
    if (not try_lexical_cast(from, &amp;ret))
        throw invalid_cast();
    return ret;
}
</code></pre>
<p>Beispiel:</p>
<pre><code class="language-cpp">cout &lt;&lt; lexical_cast&lt;int&gt;(&quot;1234&quot;) &lt;&lt; endl; // &quot;1234&quot;
int x;
cout &lt;&lt; boolalpha &lt;&lt; try_lexical_cast(&quot;12a3&quot;, &amp;x) &lt;&lt; endl; // &quot;false&quot;
</code></pre>
<p>Auf Arrays kann man das ganze auch anwenden, indem man 'std::transform' nimmt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1320659</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320659</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Sun, 08 Jul 2007 12:21:00 GMT</pubDate></item><item><title><![CDATA[Reply to Typumwandlung bei Array ! on Sun, 08 Jul 2007 12:22:47 GMT]]></title><description><![CDATA[<p>Oh Mann,</p>
<p>d*a*n+k+e willy !!!<br />
Hast Du in diesem Zusammenh. vllt ne Lösung dafür:</p>
<p><a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-186374.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-186374.html</a></p>
<p>?????</p>
<p>Danke für Deine Mühe<br />
Gruss<br />
ShadowEater</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1320661</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320661</guid><dc:creator><![CDATA[ShadowEater]]></dc:creator><pubDate>Sun, 08 Jul 2007 12:22:47 GMT</pubDate></item><item><title><![CDATA[Reply to Typumwandlung bei Array ! on Sun, 08 Jul 2007 12:28:00 GMT]]></title><description><![CDATA[<p>ShadowEater schrieb:</p>
<blockquote>
<p>Hast Du in diesem Zusammenh. vllt ne Lösung dafür:</p>
<p><a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-186374.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-186374.html</a></p>
</blockquote>
<p>Zwei Dinge:</p>
<p>- Variablen müssen deklariert werden, *bevor* man sie benutzt.<br />
- Du kannst nicht einfach Zahlen in einen String reinschreiben. Verwende die von mir gepostete Lösung.</p>
<pre><code class="language-cpp">CString itsResult[100]; // !!! 100! NICHT 101! Wir sind hier nicht in VB.
    for (int i = 0; i&lt;=10; i++)
    {
        for (int j = 0; j &lt;=10; j++)
        {
            itsResult[i * j] = lexical_cast&lt;CString&gt;(i * j);
        }
    }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1320668</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320668</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Sun, 08 Jul 2007 12:28:00 GMT</pubDate></item><item><title><![CDATA[Reply to Typumwandlung bei Array ! on Sun, 08 Jul 2007 12:29:42 GMT]]></title><description><![CDATA[<p>Ach so, noch etwas, das klappt so nicht. Du gibst in Der Funktion 'Calculate' einen Zeiger auf ein Objekt innerhalb der Funktion zurück. Nach Beenden der Funktion wird dieses Objekt aber zerstört, daher zeigt der Zeiger ins Nirvana.</p>
<p>Verwende die C++-'std::vector'-Klasse statt C-Arrays, dann hast Du das Problem nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1320673</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320673</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Sun, 08 Jul 2007 12:29:42 GMT</pubDate></item><item><title><![CDATA[Reply to Typumwandlung bei Array ! on Sun, 08 Jul 2007 12:39:05 GMT]]></title><description><![CDATA[<p>Danke für die Antwort ;),</p>
<p>ich habe den Code eingefügt und erhalte noch 2 Fehlermeldungen :</p>
<p>1.'lexical_cast' : nichtdeklarierter Bezeichner<br />
2.Ungültige Verwendung dieses Typs als Ausdruck</p>
<blockquote>
<p>Ach so, noch etwas, das klappt so nicht. Du gibst in Der Funktion 'Calculate' einen Zeiger auf ein Objekt innerhalb der Funktion zurück. Nach Beenden der Funktion wird dieses Objekt aber zerstört, daher zeigt der Zeiger ins Nirvana.</p>
</blockquote>
<p>Hmmm das kann ich mir vorstellen dass das nicht klappt, gibt es eine möglichkeit Arrays weiterzuverwenden (statische Zeiger oder so etwas ?)</p>
<p><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="😉"
    /><br />
ShadowEater</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1320683</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320683</guid><dc:creator><![CDATA[ShadowEater]]></dc:creator><pubDate>Sun, 08 Jul 2007 12:39:05 GMT</pubDate></item><item><title><![CDATA[Reply to Typumwandlung bei Array ! on Sun, 08 Jul 2007 12:43:59 GMT]]></title><description><![CDATA[<p>ShadowEater schrieb:</p>
<blockquote>
<p>1.'lexical_cast' : nichtdeklarierter Bezeichner<br />
2.Ungültige Verwendung dieses Typs als Ausdruck</p>
</blockquote>
<p>Ja, Du musst auch schon den Code für 'lexical_cast', den ich vorher gepostet habe, einfügen. Und zwar so, dass er in der Funktion gefunden wird. Also *davor*. Am besten in einem eigenen Header, den Du dann einfügst.</p>
<blockquote>
<p>Hmmm das kann ich mir vorstellen dass das nicht klappt, gibt es eine möglichkeit Arrays weiterzuverwenden (statische Zeiger oder so etwas ?)</p>
</blockquote>
<p>Ja, es ginge in der Tat, wenn Du das Array in der Funktion als 'static' deklarierst. In diesem Fall könnte das sogar sinnvoll sein. Generell rate ich aber trotzdem von der Verwendung von Zeigern ab, wo es sich vermeiden lässt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1320690</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320690</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Sun, 08 Jul 2007 12:43:59 GMT</pubDate></item><item><title><![CDATA[Reply to Typumwandlung bei Array ! on Sun, 08 Jul 2007 12:47:14 GMT]]></title><description><![CDATA[<p>Hmmmm,<br />
dann wäre doch das geschickteste sich die Ergebnisse auszurechnen und sie nicht in ein int Array zu schreiben sondern gleich nach der Berechnung einfach zu casten und gleich in ein CString Array einzulesen oder ?</p>
<p><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="😉"
    /><br />
ShadowEater</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1320697</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320697</guid><dc:creator><![CDATA[ShadowEater]]></dc:creator><pubDate>Sun, 08 Jul 2007 12:47:14 GMT</pubDate></item><item><title><![CDATA[Reply to Typumwandlung bei Array ! on Sun, 08 Jul 2007 13:04:18 GMT]]></title><description><![CDATA[<p>Mensch jung, mach das doch ordentlich ! Tststs !<br />
Du könntest<br />
void func( type** pptr )<br />
{</p>
<p>*ptr = 0xXYZ;<br />
return;<br />
}</p>
<p>int main(){</p>
<p>type *p_ptr;<br />
func( &amp;p_ptr );<br />
...<br />
es so machen. MFG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1320715</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320715</guid><dc:creator><![CDATA[ohoh]]></dc:creator><pubDate>Sun, 08 Jul 2007 13:04:18 GMT</pubDate></item><item><title><![CDATA[Reply to Typumwandlung bei Array ! on Sun, 08 Jul 2007 13:09:07 GMT]]></title><description><![CDATA[<p>Wenn ich das so mache krieg ich nur noch einen Fehler :</p>
<pre><code class="language-cpp">class CCalculate
{

	private:

	public:

		CCalculate	(){};
		~CCalculate	(){};

		int				itsResult	[100];
		static	CString ergebnis	[100];
		CString			strTausche;
		int				iTausche;

		CString berechne();
};

CString CCalculate::berechne()
{
	for (int i = 0; i&lt;=10; i++)
	{
		for (int j = 0; j &lt;=10; j++)
		{
			itsResult[i * j] = (i * j);
		}
	}

	for (int k = 0; k &lt;= 100; k++)
	{
		itsResult[k]	= iTausche;
		strTausche		= (CString)iTausche;
		ergebnis[k]		= strTausche; 
	}

	return  *ergebnis;
}
</code></pre>
<blockquote>
<p>error C2679: Binaerer Operator '=' : Kein Operator definiert, der einen rechtsseitigen Operator vom Typ 'class CString' akzeptiert (oder keine geeignete Konvertierung möglich</p>
</blockquote>
<p>mfg<br />
ShadowEater</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1320718</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320718</guid><dc:creator><![CDATA[ShadowEater]]></dc:creator><pubDate>Sun, 08 Jul 2007 13:09:07 GMT</pubDate></item><item><title><![CDATA[Reply to Typumwandlung bei Array ! on Sun, 08 Jul 2007 14:37:33 GMT]]></title><description><![CDATA[<p>Hm, mit MFC arbeite ich eigendlich nicht, aber vielleicht hilft dir das:</p>
<pre><code class="language-cpp">class CCalculate 
{ 

    private: 

    public: 

        CCalculate    (){}; 
        ~CCalculate    (){}; 

        int                itsResult[100]; 
        CString            ergebnis[100]; 

        void berechne(); 
}; 

void CCalculate::berechne() 
{ 
    char tmp[100];
    for (int i = 0; i &lt; 10; i++) 
    { 
        for (int j = 0; j &lt; 10; j++) 
        { 
            itsResult[i * j] = i * j; 
            //_itow_s(i*j, tmp, 100, 10);// die wchar_t -Variante
            _itoa_s(i*j, tmp, 100, 10); 
            ergebnis[i*j] +=  tmp;
        } 
    } 
}
</code></pre>
<p><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/1320766</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320766</guid><dc:creator><![CDATA[willy]]></dc:creator><pubDate>Sun, 08 Jul 2007 14:37:33 GMT</pubDate></item></channel></rss>