<?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[Umnlaute darstellen]]></title><description><![CDATA[<p>Hey,</p>
<p>habe ein kleines Problemchen.</p>
<p>Ich möchte einen Keybinder für den San Andreas Multiplayer programmieren, was ich soweit auch schon gut alleine hinbekommen haben, allerdings möchte ich die SendChat() Funktion der API, welche von einem externen Entwickler programmiert wurde, nutzen,, was ein kleines Problem mit den Umlauten darstellt.</p>
<p>Ich habe bisher alle Keybinder in Autohotkey geschrieben, was super geklappt hat.<br />
Die Umlaute werden wunderbar im Chat angezeigt.</p>
<p>Nun mache ich es mit c++ und die Umlaute werden umgewandelt, in bspw. einen Bruch (1/4).</p>
<p>Was ich nicht verstehe ist Folgendes:<br />
In Autohotkey funktioniert es prima, was nahelegt, dass es nichts mit der SendChat() Funktion zu tun hat.<br />
Allerdings werden die Umlaute in einer QMessageBox (Qt) wunderbar angezeigt, was wieder darauf schließen lässt, dass es an der SendChat() Funktion der externen API liegt.</p>
<p>Da die API Open Source ist, kann ich hier mal die Funktion posten:<br />
<a href="https://github.com/Slider1338/GTA-API/blob/master/source/SAMP.cpp#L441" rel="nofollow">https://github.com/Slider1338/GTA-API/blob/master/source/SAMP.cpp#L441</a></p>
<p>Mein Code sieht wie folgt aus:</p>
<pre><code>SendChat((char*)&quot;üü&quot;);
</code></pre>
<p>Danke im Voraus.</p>
<p>Viele Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/330405/umnlaute-darstellen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 03 Jul 2026 06:12:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/330405.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 08 Jan 2015 19:15:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Umnlaute darstellen on Thu, 08 Jan 2015 19:15:58 GMT]]></title><description><![CDATA[<p>Hey,</p>
<p>habe ein kleines Problemchen.</p>
<p>Ich möchte einen Keybinder für den San Andreas Multiplayer programmieren, was ich soweit auch schon gut alleine hinbekommen haben, allerdings möchte ich die SendChat() Funktion der API, welche von einem externen Entwickler programmiert wurde, nutzen,, was ein kleines Problem mit den Umlauten darstellt.</p>
<p>Ich habe bisher alle Keybinder in Autohotkey geschrieben, was super geklappt hat.<br />
Die Umlaute werden wunderbar im Chat angezeigt.</p>
<p>Nun mache ich es mit c++ und die Umlaute werden umgewandelt, in bspw. einen Bruch (1/4).</p>
<p>Was ich nicht verstehe ist Folgendes:<br />
In Autohotkey funktioniert es prima, was nahelegt, dass es nichts mit der SendChat() Funktion zu tun hat.<br />
Allerdings werden die Umlaute in einer QMessageBox (Qt) wunderbar angezeigt, was wieder darauf schließen lässt, dass es an der SendChat() Funktion der externen API liegt.</p>
<p>Da die API Open Source ist, kann ich hier mal die Funktion posten:<br />
<a href="https://github.com/Slider1338/GTA-API/blob/master/source/SAMP.cpp#L441" rel="nofollow">https://github.com/Slider1338/GTA-API/blob/master/source/SAMP.cpp#L441</a></p>
<p>Mein Code sieht wie folgt aus:</p>
<pre><code>SendChat((char*)&quot;üü&quot;);
</code></pre>
<p>Danke im Voraus.</p>
<p>Viele Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2436588</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2436588</guid><dc:creator><![CDATA[Mr.Reese]]></dc:creator><pubDate>Thu, 08 Jan 2015 19:15:58 GMT</pubDate></item><item><title><![CDATA[Reply to Umnlaute darstellen on Thu, 08 Jan 2015 19:21:21 GMT]]></title><description><![CDATA[<p><a href="https://www.c-plusplus.net/forum/39326-full">https://www.c-plusplus.net/forum/39326-full</a><br />
Du darfst deine Lieblingssuchmaschine das nächste mal auch gerne selbst benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2436591</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2436591</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Thu, 08 Jan 2015 19:21:21 GMT</pubDate></item><item><title><![CDATA[Reply to Umnlaute darstellen on Thu, 08 Jan 2015 21:03:37 GMT]]></title><description><![CDATA[<p>Hey,</p>
<p>erstmal danke für die Antwort.</p>
<p>Ich weiß nicht, woher du entnimmst, dass ich diese Seite nicht auch schon durch exzessives Googlen gefunden habe.</p>
<p>Ich habe es bereits mehrfach ausprobiert, allerdings bekommt meine Anwendung beim Verwenden von bspw. der Konstante &quot;AE&quot; einen Crash (&quot;Funktioniert nicht mehr&quot;, &quot;Appcrash&quot;).</p>
<p>Danke im Voraus.</p>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2436619</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2436619</guid><dc:creator><![CDATA[Mr.Reese]]></dc:creator><pubDate>Thu, 08 Jan 2015 21:03:37 GMT</pubDate></item><item><title><![CDATA[Reply to Umnlaute darstellen on Thu, 08 Jan 2015 21:38:59 GMT]]></title><description><![CDATA[<p>Du sagst also, dass folgendes Programm bei dir abstürzt?:</p>
<pre><code>#include &lt;iostream&gt;

int main()
{
    const unsigned char AE = static_cast&lt;unsigned char&gt;(142);
    std::cout &lt;&lt; AE &lt;&lt; '\n';
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2436628</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2436628</guid><dc:creator><![CDATA[hardware]]></dc:creator><pubDate>Thu, 08 Jan 2015 21:38:59 GMT</pubDate></item><item><title><![CDATA[Reply to Umnlaute darstellen on Thu, 08 Jan 2015 21:51:17 GMT]]></title><description><![CDATA[<p><a href="http://www.joelonsoftware.com/articles/Unicode.html" rel="nofollow">http://www.joelonsoftware.com/articles/Unicode.html</a><br />
<a href="http://utf8everywhere.org/" rel="nofollow">http://utf8everywhere.org/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2436630</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2436630</guid><dc:creator><![CDATA[linkposter]]></dc:creator><pubDate>Thu, 08 Jan 2015 21:51:17 GMT</pubDate></item><item><title><![CDATA[Reply to Umnlaute darstellen on Fri, 09 Jan 2015 01:30:22 GMT]]></title><description><![CDATA[<p>hardware schrieb:</p>
<blockquote>
<p>Du sagst also, dass folgendes Programm bei dir abstürzt?:</p>
<pre><code>#include &lt;iostream&gt;

int main()
{
    const unsigned char AE = static_cast&lt;unsigned char&gt;(142);
    std::cout &lt;&lt; AE &lt;&lt; '\n';
}
</code></pre>
</blockquote>
<p>Vergessen zu erwähnen:<br />
Habe statt unsigned char* char verwendet, da ich dies besser in einen char Pointer umwandeln kann.</p>
<pre><code>char AE = static_cast&lt;char&gt;(142);
SendChat((char*)AE);
</code></pre>
<p>Kann das daran liegen?</p>
<p>linkposter schrieb:</p>
<blockquote>
<p><a href="http://www.joelonsoftware.com/articles/Unicode.html" rel="nofollow">http://www.joelonsoftware.com/articles/Unicode.html</a><br />
<a href="http://utf8everywhere.org/" rel="nofollow">http://utf8everywhere.org/</a></p>
</blockquote>
<p>Danke, werde ich mir sicher mal durchlesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2436641</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2436641</guid><dc:creator><![CDATA[Mr.Reese]]></dc:creator><pubDate>Fri, 09 Jan 2015 01:30:22 GMT</pubDate></item><item><title><![CDATA[Reply to Umnlaute darstellen on Fri, 09 Jan 2015 02:01:19 GMT]]></title><description><![CDATA[<p>Mr.Reese schrieb:</p>
<blockquote>
<pre><code>char AE = static_cast&lt;char&gt;(142);
SendChat((char*)AE);
</code></pre>
<p>Kann das daran liegen?</p>
</blockquote>
<p>Es <em>liegt</em> da dran<sup>*</sup>. Du weißt nicht, wie Zeiger funktionieren, oder? Falls nein, kann ich es dir leider auch nicht im Rahmen eines Forenbeitrags beibringen. Allgemein gilt, dass du ganz genau von jedem Zeichen in deinem Code wissen musst, wo und warum du es benutzt. &quot;Damit der Compiler nicht mehr meine Fehler anmeckert&quot; ist beispielsweise eine denkbar schlechte Begründung für etwas wie <code>(char*)</code> . Letztlich wirst du die Sprache richtig lernen müssen, bevor du sie benutzen kannst, in C++ gibt es keine Sicherheitsnetze für Anfänger. Das gilt doppelt für die Benutzung von Bibliotheken im C-Stil, denn in C kann man sich noch sehr viel einfacher selbst ins Bein schießen. Also genau das, was du hier machst.<br />
Eine vielleicht leichter gangbare Variante wäre hier, dass du deine Nachrichten erst mit std::string oder std::stringstream (die kennst du? Wenigstens std::string?) zusammen setzt, denn die sind relativ anfängerfreundlich. Am Ende kannst du dann deren spezielle Memberfunktionen benutzen, um eine Zeichenkette im C-Stil zu erhalten.</p>
<p><sup>*</sup>: Der Fehler ist auch unmittelbar offensichtlich. Den hätte so ziemlich jeder hier gesehen, hättest du gleich <a href="https://www.c-plusplus.net/forum/304133">den richtigen Code</a> gezeigt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2436642</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2436642</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 09 Jan 2015 02:01:19 GMT</pubDate></item><item><title><![CDATA[Reply to Umnlaute darstellen on Fri, 09 Jan 2015 10:12:00 GMT]]></title><description><![CDATA[<p>Ist jetzt evtl. etwas Off- Topic aber zu:</p>
<blockquote>
<p>erst mit std::string oder std::stringstream (die kennst du? Wenigstens std::string?) zusammen setzt, denn die sind relativ anfängerfreundlich.</p>
</blockquote>
<p>=&gt; Ja, sind sie , generell aber : Sollte man die nicht immer nutzen, nicht nur als Anfänger? bzw.: Wie oft kommt es bei Euch Profis vor, das ihr in c++ char* benötigt ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2436671</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2436671</guid><dc:creator><![CDATA[unsure]]></dc:creator><pubDate>Fri, 09 Jan 2015 10:12:00 GMT</pubDate></item><item><title><![CDATA[Reply to Umnlaute darstellen on Fri, 09 Jan 2015 10:16:56 GMT]]></title><description><![CDATA[<p>Selbstverständlich lautet der Grundsatz:<br />
Man sollte sie immer nutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2436673</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2436673</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Fri, 09 Jan 2015 10:16:56 GMT</pubDate></item><item><title><![CDATA[Reply to Umnlaute darstellen on Fri, 09 Jan 2015 11:52:38 GMT]]></title><description><![CDATA[<p>unsure schrieb:</p>
<blockquote>
<p>Ist jetzt evtl. etwas Off- Topic aber zu:</p>
<blockquote>
<p>erst mit std::string oder std::stringstream (die kennst du? Wenigstens std::string?) zusammen setzt, denn die sind relativ anfängerfreundlich.</p>
</blockquote>
<p>=&gt; Ja, sind sie , generell aber : Sollte man die nicht immer nutzen, nicht nur als Anfänger? bzw.: Wie oft kommt es bei Euch Profis vor, das ihr in c++ char* benötigt ?</p>
</blockquote>
<p>Also ich benutze regelmässig char*. Sogar ohne irgendwelches consts.</p>
<p>Aber unfreiwillig: auf der Arbeit setze ich auf eine C-API auf (wobei die Bibliothek itnern wiederum komplett in C++ geschrieben ist mit Boost und allem drum und dran -.-'), die genau das erwartet...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2436682</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2436682</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Fri, 09 Jan 2015 11:52:38 GMT</pubDate></item><item><title><![CDATA[Reply to Umnlaute darstellen on Sun, 11 Jan 2015 22:35:59 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Mr.Reese schrieb:</p>
<blockquote>
<pre><code>char AE = static_cast&lt;char&gt;(142);
SendChat((char*)AE);
</code></pre>
<p>Kann das daran liegen?</p>
</blockquote>
<p>Es <em>liegt</em> da dran<sup>*</sup>. Du weißt nicht, wie Zeiger funktionieren, oder? Falls nein, kann ich es dir leider auch nicht im Rahmen eines Forenbeitrags beibringen. Allgemein gilt, dass du ganz genau von jedem Zeichen in deinem Code wissen musst, wo und warum du es benutzt. &quot;Damit der Compiler nicht mehr meine Fehler anmeckert&quot; ist beispielsweise eine denkbar schlechte Begründung für etwas wie <code>(char*)</code> . Letztlich wirst du die Sprache richtig lernen müssen, bevor du sie benutzen kannst, in C++ gibt es keine Sicherheitsnetze für Anfänger. Das gilt doppelt für die Benutzung von Bibliotheken im C-Stil, denn in C kann man sich noch sehr viel einfacher selbst ins Bein schießen. Also genau das, was du hier machst.<br />
Eine vielleicht leichter gangbare Variante wäre hier, dass du deine Nachrichten erst mit std::string oder std::stringstream (die kennst du? Wenigstens std::string?) zusammen setzt, denn die sind relativ anfängerfreundlich. Am Ende kannst du dann deren spezielle Memberfunktionen benutzen, um eine Zeichenkette im C-Stil zu erhalten.</p>
<p><sup>*</sup>: Der Fehler ist auch unmittelbar offensichtlich. Den hätte so ziemlich jeder hier gesehen, hättest du gleich <a href="https://www.c-plusplus.net/forum/304133">den richtigen Code</a> gezeigt.</p>
</blockquote>
<p>Ich versuche seit Längerem den Sinn von Zeigern zu verstehen, aber in jedem Buch, das ich besitze und in jedem Tutorial wird nur beschrieben, wie sie funktionieren, aber nirgendwo findet man praxisbezogene Anwendungsbereiche.<br />
Ich weiß bis heute nicht, wann man sie verwendet und wann nicht.</p>
<p>Wie soll man denn c++ lernen, wenn man es nicht anwenden darf, weil man es noch nicht kann? Man kann nichts lernen, ohne dass man es ausprobiert, was ich an diesem Projekt versuche.</p>
<p>Wie genau meinst du das mit dem std::string? Also den Datentyp kenne ich schon, habe auch schonmal mit ihm gearbeitet, weiß auch wie ich ihn zu einem char Array konvertiere (c_str()). Dennoch bringt mich das leider nicht weiter, da die Umlaute trotzdem noch in Brüchen angezeigt werden.</p>
<p>Danke übrigens für die ganze Mühe, ich tu mich in c++ noch sehr schwer.</p>
<p>Viele Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2437058</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2437058</guid><dc:creator><![CDATA[Mr.Reese]]></dc:creator><pubDate>Sun, 11 Jan 2015 22:35:59 GMT</pubDate></item></channel></rss>