<?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[Fehler bei CString-Rückgabe]]></title><description><![CDATA[<p>Hallo,<br />
ich habe die Klasse CPPString von CString geerbt und will sie jetzt um die Methode FromPos erweitern, die mir den rechten Teilstring ab Position xxx zurückgibt (ähnlich wie CString::Right, nur das von links gezählt wird)</p>
<p>Implementierung:</p>
<pre><code class="language-cpp">CPPString CPPString::FromPos(int iPos)
{
	return (*this).Left( (*this).GetLength()-iPos );
}
</code></pre>
<p>Meine Klasse sieht so aus:</p>
<pre><code class="language-cpp">class CPPString :
	public CString
{
private:
	char* m_strString;
public:
	CPPString(void);
	CPPString(const char* strString);
	~CPPString(void);
	int ParseInt(void);
	long ParseLong(void);
	double ParseDouble(void);
	char* GetCharArray(void);
	void ToCharArray(char* strCharArray, size_t Size);
	CPPString FromPos(int iPos);      // das funktioniert nicht
};
</code></pre>
<p>Ich bekomme folgenden Fehler:</p>
<blockquote>
<p>Error 2 error C2664: 'CPPString::CPPString(const char *)' : cannot convert parameter 1 from 'ATL::CStringT&lt;BaseType,StringTraits&gt;' to 'const char *' c:\projects\cppstring test2\cppstring test2\cppstring.cpp 94</p>
</blockquote>
<p>Ich verstehe diesen Fehler nicht.<br />
Wo habe ich denn einen const char * deklariert/ übergeben?</p>
<p>Meine Klasse CPPString ist doch zu CString kompatibel.</p>
<p>Ich möchte schon den String direkt zuweisen (so wie es auch Left und Right() macht) und nicht den Umweg über Pointer gehen.</p>
<p>Was ist falsch?</p>
<p>Besten Dank.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/254806/fehler-bei-cstring-rückgabe</link><generator>RSS for Node</generator><lastBuildDate>Sat, 12 Sep 2026 06:59:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/254806.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 21 Nov 2009 11:02:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fehler bei CString-Rückgabe on Sat, 21 Nov 2009 11:02:47 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe die Klasse CPPString von CString geerbt und will sie jetzt um die Methode FromPos erweitern, die mir den rechten Teilstring ab Position xxx zurückgibt (ähnlich wie CString::Right, nur das von links gezählt wird)</p>
<p>Implementierung:</p>
<pre><code class="language-cpp">CPPString CPPString::FromPos(int iPos)
{
	return (*this).Left( (*this).GetLength()-iPos );
}
</code></pre>
<p>Meine Klasse sieht so aus:</p>
<pre><code class="language-cpp">class CPPString :
	public CString
{
private:
	char* m_strString;
public:
	CPPString(void);
	CPPString(const char* strString);
	~CPPString(void);
	int ParseInt(void);
	long ParseLong(void);
	double ParseDouble(void);
	char* GetCharArray(void);
	void ToCharArray(char* strCharArray, size_t Size);
	CPPString FromPos(int iPos);      // das funktioniert nicht
};
</code></pre>
<p>Ich bekomme folgenden Fehler:</p>
<blockquote>
<p>Error 2 error C2664: 'CPPString::CPPString(const char *)' : cannot convert parameter 1 from 'ATL::CStringT&lt;BaseType,StringTraits&gt;' to 'const char *' c:\projects\cppstring test2\cppstring test2\cppstring.cpp 94</p>
</blockquote>
<p>Ich verstehe diesen Fehler nicht.<br />
Wo habe ich denn einen const char * deklariert/ übergeben?</p>
<p>Meine Klasse CPPString ist doch zu CString kompatibel.</p>
<p>Ich möchte schon den String direkt zuweisen (so wie es auch Left und Right() macht) und nicht den Umweg über Pointer gehen.</p>
<p>Was ist falsch?</p>
<p>Besten Dank.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1811364</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1811364</guid><dc:creator><![CDATA[dlgig]]></dc:creator><pubDate>Sat, 21 Nov 2009 11:02:47 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei CString-Rückgabe on Sat, 21 Nov 2009 11:46:25 GMT]]></title><description><![CDATA[<p>dlgig schrieb:</p>
<blockquote>
<p>Ich verstehe diesen Fehler nicht.<br />
Wo habe ich denn einen const char * deklariert/ übergeben?</p>
</blockquote>
<p>Hier:</p>
<pre><code class="language-cpp">CPPString(const char* strString);
</code></pre>
<p>dlgig schrieb:</p>
<blockquote>
<p>Meine Klasse CPPString ist doch zu CString kompatibel.</p>
</blockquote>
<p>Das weiss ich nicht, da ich <code>CString</code> nicht kenne. Hier befindest du dich im Unterforum für Standard-C++ und die Klasse <code>CString</code> gehört eindeutig nicht dazu. Diese ist doch Teil der MFC, oder?</p>
<p>Wie sieht denn dein Konstruktor aus, was bietet die Basisklasse für Konstruktoren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1811377</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1811377</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 21 Nov 2009 11:46:25 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei CString-Rückgabe on Sat, 21 Nov 2009 11:47:56 GMT]]></title><description><![CDATA[<p>CString::Left(....) gibt nen CString zurück, keinen CPPString.</p>
<p>Deine Klasse braucht nen Konstruktor mit so ner Signatur:</p>
<pre><code>CPPString(CString);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1811378</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1811378</guid><dc:creator><![CDATA[Moi]]></dc:creator><pubDate>Sat, 21 Nov 2009 11:47:56 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei CString-Rückgabe on Sat, 21 Nov 2009 11:58:11 GMT]]></title><description><![CDATA[<p>Moi schrieb:</p>
<blockquote>
<p>CString::Left(....) gibt nen CString zurück, keinen CPPString.</p>
<p>Deine Klasse braucht nen Konstruktor mit so ner Signatur:</p>
<pre><code>CPPString(CString);
</code></pre>
</blockquote>
<p>Ich verstehe nciht ganz was du meinst?</p>
<p>---</p>
<p>Stimmt... CString scheint zur MFC zu gehören.</p>
<p>Nexus schrieb:</p>
<blockquote>
<p>Wie sieht denn dein Konstruktor aus, was bietet die Basisklasse für Konstruktoren?</p>
</blockquote>
<p>Mein Kunstruktor:</p>
<pre><code class="language-cpp">CPPString::CPPString(const char* strString):CString(strString)
{
	m_strString = (char*)calloc(0,sizeof(char));
}
</code></pre>
<p>ich benutze eigenltich nur folgenden CString Konstruktor:<br />
CStringT ( const char String );</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1811381</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1811381</guid><dc:creator><![CDATA[dlgig]]></dc:creator><pubDate>Sat, 21 Nov 2009 11:58:11 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei CString-Rückgabe on Sat, 21 Nov 2009 12:07:42 GMT]]></title><description><![CDATA[<p>dlgig schrieb:</p>
<blockquote>
<p>Ich verstehe nciht ganz was du meinst?</p>
</blockquote>
<p>Wenn das stimmt, hast du einen Fehler in <code>CPPString CPPString::FromPos(int)</code> : Du hast Rückgabetyp <code>CPPString</code> , gibst aber einen <code>CString</code> zurück.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1811384</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1811384</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 21 Nov 2009 12:07:42 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei CString-Rückgabe on Sat, 21 Nov 2009 12:19:59 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>dlgig schrieb:</p>
<blockquote>
<p>Ich verstehe nciht ganz was du meinst?</p>
</blockquote>
<p>Wenn das stimmt, hast du einen Fehler in <code>CPPString CPPString::FromPos(int)</code> : Du hast Rückgabetyp <code>CPPString</code> , gibst aber einen <code>CString</code> zurück.</p>
</blockquote>
<p>Habe jetzt den Rückgabewert auf CString geändert. Jetzt gehts.<br />
ABER ich dachte, dass voneinander abgeleitete Klassen zueinnader Kompatibel sind.</p>
<p>Kann ich nicht CAbgeleitet CBasisKlasse zuweisen?<br />
CAbgeleitet = CBasisKlasse;<br />
CBasisKlasse = CAbgeleitet;<br />
??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1811393</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1811393</guid><dc:creator><![CDATA[dlgig]]></dc:creator><pubDate>Sat, 21 Nov 2009 12:19:59 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei CString-Rückgabe on Sat, 21 Nov 2009 12:21:23 GMT]]></title><description><![CDATA[<p>Wenn du einen CString zurückwirfst mittels return, in der Signatur aber ein CPPString steht, dann wird versucht den CString in einen CPPString zu konvertieren. Und dafür brauchst Du nen Konstruktur mit der Signatur wie oben angesprochen.</p>
<p>Der ganze Laufzeitpolymorphiekram funzt nur mit Pointern. Du müsstest nen CPPString * zurückwerfen, damit es kompiliert, aber dann wird es kompliziert, weil du dann die ganze Speicherverwaltung manuell implementieren musst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1811394</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1811394</guid><dc:creator><![CDATA[Moi]]></dc:creator><pubDate>Sat, 21 Nov 2009 12:21:23 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei CString-Rückgabe on Sat, 21 Nov 2009 13:34:59 GMT]]></title><description><![CDATA[<p>dlgig schrieb:</p>
<blockquote>
<p>Habe jetzt den Rückgabewert auf CString geändert. Jetzt gehts.<br />
ABER ich dachte, dass voneinander abgeleitete Klassen zueinnader Kompatibel sind.</p>
</blockquote>
<p>Nein, nicht zueinander. Ein <code>Derived</code> ist sicher ein <code>Base</code> und kann als solches angesehen werden (sofern <code>public</code> -Vererbung eingesetzt wurde). Umgekehrt ist ein <code>Base</code> -Objekt <strong>kein</strong> <code>Derived</code> .</p>
<p>Moi schrieb:</p>
<blockquote>
<p>Der ganze Laufzeitpolymorphiekram funzt nur mit Pointern.</p>
</blockquote>
<p>Mit Referenzen geht es auch. Hier muss man vorsichtig sein: Verweise (Zeiger/Referenzen) auf abgeleitete Klassen können implizit als solche auf Basisklassen angesehen werden. In umgekehrter Richtung muss man entweder <code>dynamic_cast</code> einsetzen, um eine Laufzeitprüfung zu erhalten, oder <code>static_cast</code> , das aber bei fehlerhaftem Downcast undefiniertes Verhalten hervorruft.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1811414</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1811414</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 21 Nov 2009 13:34:59 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei CString-Rückgabe on Sat, 21 Nov 2009 16:21:36 GMT]]></title><description><![CDATA[<p>Danke.<br />
Jetzt gehts auch so.</p>
<p>Habe jetzt wie Moi gesagt, den fehlenden Konstruktor hinzugefügt</p>
<pre><code class="language-cpp">CPPString::CPPString(CString csString):CString(csString)	// Notwendig für Typcasting: CString To CPPString
{
	m_strString = (char*)calloc(0,sizeof(char));
}
</code></pre>
<p>Denke ich habe auch den Grund verstanden:<br />
Immer wenn ein TypeCast notwendig ist: Basisklasse in AbgeleiteteKlasse<br />
dann ist ein Konstruktor erforderlich, denn<br />
bei jedem TypeCast wird der Konstruktor aufgerufen.</p>
<p>Richtig?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1811481</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1811481</guid><dc:creator><![CDATA[dlgig]]></dc:creator><pubDate>Sat, 21 Nov 2009 16:21:36 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei CString-Rückgabe on Sat, 21 Nov 2009 16:43:40 GMT]]></title><description><![CDATA[<p><code>m_strString = (char*)calloc(0,sizeof(char));</code></p>
<p>das sieht extrem falsch aus...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1811487</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1811487</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sat, 21 Nov 2009 16:43:40 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei CString-Rückgabe on Sat, 21 Nov 2009 17:21:12 GMT]]></title><description><![CDATA[<p>Hm... naja.<br />
Ich würde lieber den <code>dynamic_cast</code> bevorzugen, denn genau dafür ist er da.</p>
<blockquote>
<p>&gt; bei jedem TypeCast wird der Konstruktor aufgerufen.</p>
</blockquote>
<p>Kann man nicht allgemein sagen. Der Compiler sucht verschiedene Möglichkeiten, wie er casten kann. Irgendwann kommt er auf die Konstruktoren. Wenn das Objekt, das gecastet werden soll, als Parameter im Konstruktor vorhanden ist, wird der Compiler versuchen, diesen Konstruktor zu benutzen.</p>
<pre><code class="language-cpp">class HoldsAnInt {
private:
   int data;
public:
   HoldsAnInt(int d) : data(d) { }
};

void f(HoldsAnInt hai);

[ ... ]

f(23); // == f(HoldsAnInt(23)) (Funktionsartiger Cast) == f(static_cast&lt;HoldsAnInt&gt;(23))
</code></pre>
<p>Das kann man natürlich auch mit abgeleiteten Klassen, dynamischer Polymorphie und Heap-Objekten machen machen. Entweder macht der Compiler die Arbeit des Castens zu seiner Zeit (per explizitem Konstruktor) oder das Programm selbst zur Laufzeit (mit Offsets).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1811490</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1811490</guid><dc:creator><![CDATA[Ad aCTa]]></dc:creator><pubDate>Sat, 21 Nov 2009 17:21:12 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei CString-Rückgabe on Sat, 21 Nov 2009 17:49:58 GMT]]></title><description><![CDATA[<p>Hat eigtl schon mal jmd gesagt, dass man das, was du dort machst, nicht machen sollte? <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 />
Was spricht gegen eine freie Funktion?<br />
Den Aufbau deiner Klasse versteh ich eh nicht ganz... wofür nochmal der pointer? cstring hält doch den string an sich schon!?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1811519</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1811519</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sat, 21 Nov 2009 17:49:58 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei CString-Rückgabe on Sat, 21 Nov 2009 21:11:29 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p><code>m_strString = (char*)calloc(0,sizeof(char));</code></p>
<p>das sieht extrem falsch aus...</p>
</blockquote>
<p>Warum das? Ich allokiere erstmal 0 Byte Speicher.</p>
<p>Später wird er dynamisch mit realloc angepasst.<br />
Ich allokier gleich am anfang irgendwas, damit ich später nicht mehr unterscheiden muss, ob der zeiger noch null ist oder schon auf speicher verweist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1811606</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1811606</guid><dc:creator><![CDATA[dlgig]]></dc:creator><pubDate>Sat, 21 Nov 2009 21:11:29 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei CString-Rückgabe on Sat, 21 Nov 2009 21:20:08 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1811607</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1811607</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Sat, 21 Nov 2009 21:20:08 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei CString-Rückgabe on Sat, 21 Nov 2009 21:39:38 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p>Hat eigtl schon mal jmd gesagt, dass man das, was du dort machst, nicht machen sollte? <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>
</blockquote>
<p>Bin mir nicht ganz sicher, ob du mich meints.</p>
<p>[quote]Was spricht gegen eine freie Funktion?<br />
Den Aufbau deiner Klasse versteh ich eh nicht ganz... wofür nochmal der pointer? cstring hält doch den string an sich schon!?</p>
<p>Ich wollte eine Funktion integrieren, die mir den CString als Char-Array ausgibt.<br />
Manchmal ist man ja auf char* angewiesen z.B. wenn man mal sprintf, fopen, _popen().<br />
Da die guten alten C-Funktion manchmal doch besser zu handeln sind oder man ein Char-Array viel besser durchparsen kann.</p>
<p><strong><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/5255">@Ad</a> aCTa</strong><br />
Verstehe dein Beispiel nicht ganz. Was macht der Code?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1811615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1811615</guid><dc:creator><![CDATA[dlgig]]></dc:creator><pubDate>Sat, 21 Nov 2009 21:39:38 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei CString-Rückgabe on Sat, 21 Nov 2009 21:48:58 GMT]]></title><description><![CDATA[<blockquote>
<p>Ich wollte eine Funktion integrieren, die mir den CString als Char-Array ausgibt.</p>
</blockquote>
<p>Gibts schon: GetBuffer()<br />
<a href="http://msdn.microsoft.com/en-us/library/5bzxfsea.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/5bzxfsea.aspx</a><br />
Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1811621</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1811621</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Sat, 21 Nov 2009 21:48:58 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei CString-Rückgabe on Sat, 21 Nov 2009 22:00:37 GMT]]></title><description><![CDATA[<p>[quote=&quot;theta&quot;]</p>
<blockquote>
<p>Gibts schon: GetBuffer()<br />
<a href="http://msdn.microsoft.com/en-us/library/5bzxfsea.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/5bzxfsea.aspx</a><br />
Simon</p>
</blockquote>
<p>Geht leider nicht bei Unicode-Unterstützung. Also wenn dort der Haken gesetzt für Unicode-Libories gesetzt ist, gehts damit nicht mehr - bekomme so nur das 1. Zeichen.</p>
<p>Deswegen mache ich das so:</p>
<pre><code class="language-cpp">char* CPPString::GetCharArray(void)
{
	int iLenght = (*this).GetLength();
	m_strString = (char*)realloc( m_strString, sizeof(char)*(iLenght+1) );
	int i = 0;

	for ( i=0; i&lt;iLenght; i++ )
	{
		m_strString[i] = (char)(((LPCTSTR)(*this))[i]);
	}
	m_strString[i] = '\0';

	return m_strString;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1811630</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1811630</guid><dc:creator><![CDATA[dlgig]]></dc:creator><pubDate>Sat, 21 Nov 2009 22:00:37 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei CString-Rückgabe on Sat, 21 Nov 2009 22:20:38 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1811636</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1811636</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Sat, 21 Nov 2009 22:20:38 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei CString-Rückgabe on Sat, 21 Nov 2009 23:57:01 GMT]]></title><description><![CDATA[<blockquote>
<p>Geht leider nicht bei Unicode-Unterstützung.</p>
</blockquote>
<p>Das würd ich bezweifeln wollen... was heißt denn geht nicht? minimalbsp?<br />
(am besten so was, wie</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;CString&gt; //richtig?

int main()
{
  CString test = L&quot;asd&quot;;
  std::wcout &lt;&lt; test.GetBuffer() &lt;&lt; std::endl;
}
</code></pre>
<p>. ich hab nur kein von der cli(?)-bibliothek - aber ich denke ja, du castest irgendwo nach char* und das war der fehler...)</p>
<p>sry, aber das was du hier machst, ist alles iwie total falsch und hässlich und noch viel mehr... du solltest dich noch ein wenig belesen, bevor du das nächste mal so etwas versuchst ;o)</p>
<p>ich würde solche fkt auch prinzipiell als freie fkt. implementieren, fänd ich auch viel zweckmäßiger...</p>
<p>thetas quellcode hatte nur am rande was mit deinem problem zu tun ;o) sein quelltext hat in so fern keinen bezug zu deinem eigentlichen problem (da gings um dynamic_cast und dessen funktionsweise)</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1811650</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1811650</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sat, 21 Nov 2009 23:57:01 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei CString-Rückgabe on Sun, 22 Nov 2009 18:47:16 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/16305">@unskilled</a>:</p>
<blockquote>
<p>ich hab nur kein von der cli(?)-bibliothek</p>
</blockquote>
<p>ehm, was mit cli? CString kommt aus der MFC / ATL, reines C++, ausgeschmückt mit unmengen von Makros...<br />
Oder hab ich was verpasst?</p>
<p>Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1811982</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1811982</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Sun, 22 Nov 2009 18:47:16 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei CString-Rückgabe on Sun, 22 Nov 2009 18:59:14 GMT]]></title><description><![CDATA[<p>theta:<br />
Nö, das Fragezeichen sollte heißen, dass ich nicht weiß, ob das richtig ist... Hab noch nie mit der MFC gearbeitet... Wieso auch? ;P</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1811989</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1811989</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 22 Nov 2009 18:59:14 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei CString-Rückgabe on Sun, 22 Nov 2009 19:08:58 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/16305">@unskilled</a>: weil man masochistisch veranlagt ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1811990</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1811990</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Sun, 22 Nov 2009 19:08:58 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei CString-Rückgabe on Sun, 22 Nov 2009 20:04:14 GMT]]></title><description><![CDATA[<p>Offtopic: Mault nicht so über die MFC rum. Sie ist a) immernoch angenehmer als die pure WinAPI und b) älter als der C++ Standard, das erklärt auch, warum sie so hässlich ist, keine Templates/Namespaces hat und so altmodisch aussieht. Sie ist einfach alt. Aber mächtig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1812013</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1812013</guid><dc:creator><![CDATA[Ad aCTa]]></dc:creator><pubDate>Sun, 22 Nov 2009 20:04:14 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei CString-Rückgabe on Mon, 23 Nov 2009 23:09:21 GMT]]></title><description><![CDATA[<p>Was nimmt ihr den, wenn ihr C++ programmiert? Ich möchte eigentlich für kleine Programme kein riesen Framework verwenden.<br />
Ich habe nie den Sinn von .Net verstanden (läuft doch sowieso nur unter Windowssystemen ordentlich) und bis jetzt konnte mir das keiner erklären.<br />
Wozu auf jeden PC nen fettes Framework vorraussetzten, wenn es doch leistungsstarke Compiler gibt?<br />
Ich mag die MFC auch nicht, aber womit kann man sonst in C++ GUI-Anwendungen schreiben?<br />
Ich kenne nur LabWindows CVI, was aber reines ANSI C ist, doch nirgendwo lassen sich oberflächen so einfach und bequem gestalten als damit.<br />
MFC ist ein Graus. Es gibt noch nichtmal ein Control, mit dem ich Zahlen eingeben lassen kann (wo rechts daneben noch Hoch-Runter-Pfeile sind etc.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1812676</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1812676</guid><dc:creator><![CDATA[dlgig]]></dc:creator><pubDate>Mon, 23 Nov 2009 23:09:21 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei CString-Rückgabe on Tue, 24 Nov 2009 11:46:48 GMT]]></title><description><![CDATA[<p>Hallo dlgig,<br />
s. <a href="http://msdn.microsoft.com/en-us/library/c8z1ck76%28VS.80%29.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/c8z1ck76%28VS.80%29.aspx</a>. Einfach mit SetBuddy an ein anderes Control (z.B. CEdit) hängen.</p>
<p>Aber ich bin auch kein Freund der MFC.<br />
Um in C++ GUI-Anwendungen zu schreiben, gibt es genügend andere Frameworks (QT, wxWidgets, GTK+), s.a. <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-230583.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-230583.html</a></p>
<p>Um gute GUI-Programme zu entwickeln, kann ich jedoch C# mit dem .NET-Framework nur empfehlen (das .NET-Framework kann man auf heutigen Windows-Systemen genauso voraussetzen wie z.B. DirectX).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1812817</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1812817</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Tue, 24 Nov 2009 11:46:48 GMT</pubDate></item></channel></rss>