<?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[Unicode Problem -&amp;gt;&amp;quot;unsigned short [1024] in char *&amp;quot;]]></title><description><![CDATA[<p>Guten Tag,<br />
Ich versuche eine vorhandene MFC Anwendung komplett unicodefähig zu machen <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 />
Nachdem ich mich durch hunderte von Fehlern gekämpft habe, sind nur noch wenige Fehler übrig ;-). Leider weiß ich nicht wie ich folgenden Fehler beheben kann.<br />
Ich verwende Visual Studio 6.0</p>
<p>Diese Methode macht mir Kopfschmerzen:</p>
<pre><code>CHfxProfileArchive&amp; CHfxProfileArchive::operator &gt;&gt;( CString&amp; str )
{
	ASSERT( m_nAccessMode == Load);

	//get string 
	char c[1024];						

	m_pstrBuffer-&gt;get( c, 1024, cDelim);			
	str = c;

	ReadDelim();	

	return *this;

}
</code></pre>
<p>diese würde ich gerne unicodefähig bekommen.<br />
Ich habe dazu das &quot;char&quot; durch &quot;TCHAR&quot; ersetzt:</p>
<pre><code>CHfxProfileArchive&amp; CHfxProfileArchive::operator &gt;&gt;( CString&amp; str )
{
	ASSERT( m_nAccessMode == Load);

	//get string 
	TCHAR c[1024];						

	m_pstrBuffer-&gt;get( c, 1024, cDelim);			
	str = c;

	ReadDelim();	

	return *this;

}
</code></pre>
<p>Danach gibt es aber folgendes Problem bei dieser Stelle:</p>
<pre><code>m_pstrBuffer-&gt;get( c, 1024, cDelim);
</code></pre>
<pre><code>...error C2664: 'class istream &amp;__thiscall istream::get(char *,int,char)' : Konvertierung des Parameters 1 von 'unsigned short [1024]' in 'char *' nicht moeglich
        Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
</code></pre>
<p>Daraufhin habe ich mit dem Macro W2A(...) gearbeitet und es funktionierte trotzdem nicht:</p>
<pre><code>CHfxProfileArchive&amp; CHfxProfileArchive::operator &gt;&gt;( CString&amp; str )
{
	ASSERT( m_nAccessMode == Load);

	//get string 
	TCHAR c[1024];						

        USES_CONVERSION;
	m_pstrBuffer-&gt;get( W2A(c), 1024, cDelim);			
	str = c;

	ReadDelim();	

	return *this;

}
</code></pre>
<p>m_pstrBuffer ist so definiert:</p>
<pre><code>// Attributes
protected:
	strstream*	m_pstrBuffer;
</code></pre>
<p>Würde mich sehr freuen, wenn mir Jemand von Euch einen Tipp zur Lösung des Problems geben könnte.<br />
Erst einmal herzlichen Dank fürs Durchlesen <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>Gruß skontox</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/142178/unicode-problem-gt-quot-unsigned-short-1024-in-char-quot</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Jul 2026 10:29:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/142178.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 28 Mar 2006 13:17:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Unicode Problem -&amp;gt;&amp;quot;unsigned short [1024] in char *&amp;quot; on Tue, 28 Mar 2006 14:15:19 GMT]]></title><description><![CDATA[<p>Guten Tag,<br />
Ich versuche eine vorhandene MFC Anwendung komplett unicodefähig zu machen <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 />
Nachdem ich mich durch hunderte von Fehlern gekämpft habe, sind nur noch wenige Fehler übrig ;-). Leider weiß ich nicht wie ich folgenden Fehler beheben kann.<br />
Ich verwende Visual Studio 6.0</p>
<p>Diese Methode macht mir Kopfschmerzen:</p>
<pre><code>CHfxProfileArchive&amp; CHfxProfileArchive::operator &gt;&gt;( CString&amp; str )
{
	ASSERT( m_nAccessMode == Load);

	//get string 
	char c[1024];						

	m_pstrBuffer-&gt;get( c, 1024, cDelim);			
	str = c;

	ReadDelim();	

	return *this;

}
</code></pre>
<p>diese würde ich gerne unicodefähig bekommen.<br />
Ich habe dazu das &quot;char&quot; durch &quot;TCHAR&quot; ersetzt:</p>
<pre><code>CHfxProfileArchive&amp; CHfxProfileArchive::operator &gt;&gt;( CString&amp; str )
{
	ASSERT( m_nAccessMode == Load);

	//get string 
	TCHAR c[1024];						

	m_pstrBuffer-&gt;get( c, 1024, cDelim);			
	str = c;

	ReadDelim();	

	return *this;

}
</code></pre>
<p>Danach gibt es aber folgendes Problem bei dieser Stelle:</p>
<pre><code>m_pstrBuffer-&gt;get( c, 1024, cDelim);
</code></pre>
<pre><code>...error C2664: 'class istream &amp;__thiscall istream::get(char *,int,char)' : Konvertierung des Parameters 1 von 'unsigned short [1024]' in 'char *' nicht moeglich
        Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
</code></pre>
<p>Daraufhin habe ich mit dem Macro W2A(...) gearbeitet und es funktionierte trotzdem nicht:</p>
<pre><code>CHfxProfileArchive&amp; CHfxProfileArchive::operator &gt;&gt;( CString&amp; str )
{
	ASSERT( m_nAccessMode == Load);

	//get string 
	TCHAR c[1024];						

        USES_CONVERSION;
	m_pstrBuffer-&gt;get( W2A(c), 1024, cDelim);			
	str = c;

	ReadDelim();	

	return *this;

}
</code></pre>
<p>m_pstrBuffer ist so definiert:</p>
<pre><code>// Attributes
protected:
	strstream*	m_pstrBuffer;
</code></pre>
<p>Würde mich sehr freuen, wenn mir Jemand von Euch einen Tipp zur Lösung des Problems geben könnte.<br />
Erst einmal herzlichen Dank fürs Durchlesen <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>Gruß skontox</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1025514</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1025514</guid><dc:creator><![CDATA[skontox]]></dc:creator><pubDate>Tue, 28 Mar 2006 14:15:19 GMT</pubDate></item><item><title><![CDATA[Reply to Unicode Problem -&amp;gt;&amp;quot;unsigned short [1024] in char *&amp;quot; on Tue, 28 Mar 2006 13:56:06 GMT]]></title><description><![CDATA[<p>Du könntest erstmal das char rausholen und dann in einer Schleife zeichenweise die Elemente des Feldes nach wchar_t casten und dann mit += immer an deinen CString ranhängen.<br />
Gibt aber glaube auch irgendeine API-Funktion, die das Umwandeln macht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1025574</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1025574</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Tue, 28 Mar 2006 13:56:06 GMT</pubDate></item><item><title><![CDATA[Reply to Unicode Problem -&amp;gt;&amp;quot;unsigned short [1024] in char *&amp;quot; on Tue, 28 Mar 2006 15:46:35 GMT]]></title><description><![CDATA[<p>Die Funktion heisst</p>
<p>mbstowcs(wchar_t*, const char*,size_t);</p>
<p>Vile Glück, hatte dieses Problem auch schonmal.<br />
Richtig mühsam.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1025675</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1025675</guid><dc:creator><![CDATA[raveangel]]></dc:creator><pubDate>Tue, 28 Mar 2006 15:46:35 GMT</pubDate></item><item><title><![CDATA[Reply to Unicode Problem -&amp;gt;&amp;quot;unsigned short [1024] in char *&amp;quot; on Tue, 28 Mar 2006 17:57:48 GMT]]></title><description><![CDATA[<p>strstream verwendet halt &quot;char&quot;.<br />
Somit lass das auslesen als &quot;char&quot; und wandle es dann erst *nach* dem auslesen in den CString um... (via CA2T)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1025764</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1025764</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Tue, 28 Mar 2006 17:57:48 GMT</pubDate></item><item><title><![CDATA[Reply to Unicode Problem -&amp;gt;&amp;quot;unsigned short [1024] in char *&amp;quot; on Tue, 28 Mar 2006 19:20:00 GMT]]></title><description><![CDATA[<p>std::wstringstream</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1025849</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1025849</guid><dc:creator><![CDATA[.............]]></dc:creator><pubDate>Tue, 28 Mar 2006 19:20:00 GMT</pubDate></item><item><title><![CDATA[Reply to Unicode Problem -&amp;gt;&amp;quot;unsigned short [1024] in char *&amp;quot; on Wed, 29 Mar 2006 13:10:29 GMT]]></title><description><![CDATA[<p>Herzlichen Dank für Eure Tipps! <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 />
Ich werde mir das jetzt mal genauer anschauen, ob ich das Problem nun Dank eurer Antworten lösen kann.</p>
<p>Gruß skontox</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1026472</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1026472</guid><dc:creator><![CDATA[skontox]]></dc:creator><pubDate>Wed, 29 Mar 2006 13:10:29 GMT</pubDate></item></channel></rss>