<?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[L&amp;quot;&#x5C;x00DC&amp;quot;L&amp;quot;bernehmen&amp;quot; -&amp;gt; geht das auch einfacher?]]></title><description><![CDATA[<p>Das Titel sagt schon alles. Also ich möchte das folgende vereinfachen:</p>
<pre><code class="language-cpp">L&quot;\x00DC&quot;L&quot;bernehmen&quot;
</code></pre>
<p>Das Problem hier ist:</p>
<pre><code class="language-cpp">L&quot;\x00DCbernehmen&quot;
</code></pre>
<p>Bei diesem String würde es den folgenden Unicodewert annehmen <code>0x00DCbe</code> , also das <code>be</code> auch noch dazunehmen, obwohl es nicht mehr dazugehört.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/242904/l-quot-x00dc-quot-l-quot-bernehmen-quot-gt-geht-das-auch-einfacher</link><generator>RSS for Node</generator><lastBuildDate>Sun, 20 Sep 2026 18:20:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/242904.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 09 Jun 2009 16:01:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to L&amp;quot;&#x5C;x00DC&amp;quot;L&amp;quot;bernehmen&amp;quot; -&amp;gt; geht das auch einfacher? on Tue, 09 Jun 2009 16:01:35 GMT]]></title><description><![CDATA[<p>Das Titel sagt schon alles. Also ich möchte das folgende vereinfachen:</p>
<pre><code class="language-cpp">L&quot;\x00DC&quot;L&quot;bernehmen&quot;
</code></pre>
<p>Das Problem hier ist:</p>
<pre><code class="language-cpp">L&quot;\x00DCbernehmen&quot;
</code></pre>
<p>Bei diesem String würde es den folgenden Unicodewert annehmen <code>0x00DCbe</code> , also das <code>be</code> auch noch dazunehmen, obwohl es nicht mehr dazugehört.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1723956</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1723956</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Tue, 09 Jun 2009 16:01:35 GMT</pubDate></item><item><title><![CDATA[Reply to L&amp;quot;&#x5C;x00DC&amp;quot;L&amp;quot;bernehmen&amp;quot; -&amp;gt; geht das auch einfacher? on Tue, 09 Jun 2009 16:42:28 GMT]]></title><description><![CDATA[<p>Ja, mach einfach hinter der Unicode-Escapesequenz ein Leerzeichen und dann einen Backspace:</p>
<pre><code class="language-cpp">L&quot;\x00DC \bbernehmen&quot;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1723979</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1723979</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Tue, 09 Jun 2009 16:42:28 GMT</pubDate></item><item><title><![CDATA[Reply to L&amp;quot;&#x5C;x00DC&amp;quot;L&amp;quot;bernehmen&amp;quot; -&amp;gt; geht das auch einfacher? on Tue, 09 Jun 2009 16:57:55 GMT]]></title><description><![CDATA[<p>@ Artchi<br />
Das wären dann aber zwei Zeichen mehr. <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>@ Dravere<br />
Haben diese Hex-Escapesequenzen keine festgelegte Länge (ich meinte 2)? Oder falls es mehr sind, bringen führende Nullen nichts?</p>
<p>Ich wollte jetzt mal keine Makros vorschlagen. :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1723986</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1723986</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 09 Jun 2009 16:57:55 GMT</pubDate></item><item><title><![CDATA[Reply to L&amp;quot;&#x5C;x00DC&amp;quot;L&amp;quot;bernehmen&amp;quot; -&amp;gt; geht das auch einfacher? on Tue, 09 Jun 2009 17:00:57 GMT]]></title><description><![CDATA[<p>Und führende Nullen sind keine &quot;Mehrzeichen&quot;? <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/1723987</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1723987</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Tue, 09 Jun 2009 17:00:57 GMT</pubDate></item><item><title><![CDATA[Reply to L&amp;quot;&#x5C;x00DC&amp;quot;L&amp;quot;bernehmen&amp;quot; -&amp;gt; geht das auch einfacher? on Tue, 09 Jun 2009 17:01:39 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Und führende Nullen sind keine &quot;Mehrzeichen&quot;? <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>Nicht, wenn sie Bestandteil einer Escape-Sequenz sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1723988</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1723988</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 09 Jun 2009 17:01:39 GMT</pubDate></item><item><title><![CDATA[Reply to L&amp;quot;&#x5C;x00DC&amp;quot;L&amp;quot;bernehmen&amp;quot; -&amp;gt; geht das auch einfacher? on Tue, 09 Jun 2009 17:32:26 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/12954">@Nexus</a>,<br />
Soweit ich weiss hat nur die Oktalschreibweise eine Begrenzung. Bei Hexadzimalzahlen wird solange dazugenommen, bis ein Zeichen kommt, welches keine Hexadezimalziffer ist.<br />
Bei der Oktalschreibweise ist die Beschränkung bei drei Ziffern (&quot;\777&quot;), also nur der Wertebereich von 0 - 511. Für ein Ü würde es zwar noch reichen, aber es hat leider auch Zeichen, die in einem höheren Bereich liegen.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1463">@Artchi</a>,<br />
Gute Idee, aber leider nicht perfekt. Weiterer Hintergrund ist, dass ich das <code>wxT</code> Makro aus wxWidgets verwendet, wodurch automatisch für das Prefix L gesorgt ist, wenn es nötig ist. Also grundsätzlich schreib ich:</p>
<pre><code class="language-cpp">wxT(&quot;\x00DC&quot;)wxT(&quot;bernehmen&quot;)

// Daher bereits eine Erleichterung:
wxT(&quot;\x00DC \bbernehmen&quot;)
</code></pre>
<p>Nun folgt aber das nächste Problem, bzw. wieso diese Lösung nicht funktioniert:<br />
Das ist eine Beschriftung für einen Button und dieser kann mit dem Backspace-Escapezeichen nicht umgehen <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>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1724002</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1724002</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Tue, 09 Jun 2009 17:32:26 GMT</pubDate></item><item><title><![CDATA[Reply to L&amp;quot;&#x5C;x00DC&amp;quot;L&amp;quot;bernehmen&amp;quot; -&amp;gt; geht das auch einfacher? on Tue, 09 Jun 2009 17:40:06 GMT]]></title><description><![CDATA[<p>Wenn du ohnehin schon Makros verwendest, wage ich mich vielleicht trotzdem:</p>
<pre><code class="language-cpp">#define wxT2(TEXT1, TEXT2) wxT(TEXT1) wxT(TEXT2)
</code></pre>
<p>Dann hast du zwar ein Komma und zusätzliche Anführungszeichen (wenn dich diese stören, kannst du ja auch direkt den Text übergeben und # verwenden):</p>
<pre><code class="language-cpp">wxT2(&quot;\x00DC&quot;,&quot;bernehmen&quot;)
</code></pre>
<p>Oder du machst dir ein künstliches Trennzeichen wie zum Beispiel '.' (Hauptsache Nicht-Hexadezimalziffer). Dann schreibst du den String mit dem Punkt und übergibst ihn an eine Funktion, die den Punkt entfernt und den neuen String an wxWidgets weiterreicht. Zwar etwas viel Aufwand, zudem müsstest du dich die um Speicherverwaltung kümmern, aber so könntest du immerhin ein einzelnes Stringliteral verwenden. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1724008</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1724008</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 09 Jun 2009 17:40:06 GMT</pubDate></item><item><title><![CDATA[Reply to L&amp;quot;&#x5C;x00DC&amp;quot;L&amp;quot;bernehmen&amp;quot; -&amp;gt; geht das auch einfacher? on Tue, 09 Jun 2009 18:06:16 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/12954">@Nexus</a>,<br />
Und wenn nun plötzlich zwei Hexadezimalziffern vorkommen? Empfiehlst du dann wxT3? <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="😃"
    /><br />
Oder womöglich sowas:</p>
<pre><code class="language-cpp">#include &lt;boost/preprocessor.hpp&gt;
#include &lt;boost/preprocessor/stringize.hpp&gt;
#include &lt;boost/preprocessor/seq/for_each.hpp&gt;

#define ULTRA_DUPRA_MACRO_STRING_LITERAL(r, data, elem) wxT(BOOST_PP_STRINGIZE(elem))
#define wxTX(seq) BOOST_PP_SEQ_FOR_EACH(ULTRA_DUPRA_MACRO_STRING_LITERAL, , seq)

// Verwendung:
wxTX((test)(test)(test));
</code></pre>
<p>-&gt; Nein, Danke! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>Und das mit dem Trennzeichen und der eigenen Funktion, gut, wäre eine Lösung, aber wirklich etwas aufwendig. Da bleibe ich wohl bei meiner aktuellen Lösung und wenn es dann soweit ist, dass ich die Anwendung vollwertig mehrsprachige mache, dann wird dann der String sowieso aus einem Configfile kommen, wahrscheinlich UTF-8 kodiert und dadurch wird das Problem dann ganz verschwinden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1724031</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1724031</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Tue, 09 Jun 2009 18:06:16 GMT</pubDate></item><item><title><![CDATA[Reply to L&amp;quot;&#x5C;x00DC&amp;quot;L&amp;quot;bernehmen&amp;quot; -&amp;gt; geht das auch einfacher? on Tue, 09 Jun 2009 18:32:11 GMT]]></title><description><![CDATA[<p>Dravere schrieb:</p>
<blockquote>
<p>Und wenn nun plötzlich zwei Hexadezimalziffern vorkommen? Empfiehlst du dann wxT3? <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="😃"
    /></p>
</blockquote>
<p>Klar. Für die ersten 256 Versionen hat man so ein Makro. Die restlichen kann man sich dann aus diesen zusammenbauen. <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="😃"
    /></p>
<p>Alternativ könntest du auch bei einem Makro bleiben und</p>
<pre><code class="language-cpp">wxT2(test,wxT2(test,test))
</code></pre>
<p>verwenden, was natürlich viiiel schöner ist, als es direkt zu verwenden. :p</p>
<p>Nein, ich wüsste nicht gerade eine wirklich saubere und einfache Lösung. Ob es die wohl gibt...?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1724045</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1724045</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 09 Jun 2009 18:32:11 GMT</pubDate></item><item><title><![CDATA[Reply to L&amp;quot;&#x5C;x00DC&amp;quot;L&amp;quot;bernehmen&amp;quot; -&amp;gt; geht das auch einfacher? on Tue, 09 Jun 2009 18:41:41 GMT]]></title><description><![CDATA[<p>Sehe gerade, das du \x benutzt. Hast du eigentlich schon mal \u anstatt \x ausprobiert? Im &quot;Die C++ Programmiersprache&quot; steht:</p>
<p>hex-quad:<br />
<em>hexadecimal-digit hexadecimal-digit hexadecimal-digit hexadecimal-digit</em></p>
<p>universal-character-name:<br />
<code>\u</code> <em>hex-quad</em><br />
<code>\U</code> <em>hex-quad hex-quad</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1724048</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1724048</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Tue, 09 Jun 2009 18:41:41 GMT</pubDate></item><item><title><![CDATA[Reply to L&amp;quot;&#x5C;x00DC&amp;quot;L&amp;quot;bernehmen&amp;quot; -&amp;gt; geht das auch einfacher? on Tue, 09 Jun 2009 18:45:37 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1463">@Artchi</a>,<br />
<code>\u</code> ist nicht für Stringliterale, sondern für den Code:</p>
<pre><code class="language-cpp">int t\uFCre = 4; // Variable türe
std::cout &lt;&lt; t\uFCre &lt;&lt; std::endl;
</code></pre>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/12954">@Nexus</a>,<br />
Es wäre wohl zu schön, wenn es da eine vernünftige Lösung gibt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1724051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1724051</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Tue, 09 Jun 2009 18:45:37 GMT</pubDate></item><item><title><![CDATA[Reply to L&amp;quot;&#x5C;x00DC&amp;quot;L&amp;quot;bernehmen&amp;quot; -&amp;gt; geht das auch einfacher? on Tue, 09 Jun 2009 18:51:00 GMT]]></title><description><![CDATA[<p>Dravere schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1463">@Artchi</a>,<br />
<code>\u</code> ist nicht für Stringliterale, sondern für den Code:</p>
<pre><code class="language-cpp">int t\uFCre = 4; // Variable türe
std::cout &lt;&lt; t\uFCre &lt;&lt; std::endl;
</code></pre>
</blockquote>
<p>Hem, das folgende kompiliert auf MSVC 8.0 und GCC 4.3.0 wunderbar:</p>
<pre><code class="language-cpp">L&quot;Arabic text: \u0633\u0644\u0627\u0645.&quot;
</code></pre>
<p>Den String stellt die Win32 API korrekt dar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1724054</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1724054</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Tue, 09 Jun 2009 18:51:00 GMT</pubDate></item><item><title><![CDATA[Reply to L&amp;quot;&#x5C;x00DC&amp;quot;L&amp;quot;bernehmen&amp;quot; -&amp;gt; geht das auch einfacher? on Tue, 09 Jun 2009 19:06:45 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Hem, das folgende kompiliert auf MSVC 8.0 und GCC 4.3.0 wunderbar:</p>
<pre><code class="language-cpp">L&quot;Arabic text: \u0633\u0644\u0627\u0645.&quot;
</code></pre>
<p>Den String stellt die Win32 API korrekt dar.</p>
</blockquote>
<p>Ups, da ist mir ein Fehler beim Testen unterlaufen. Hab vergessen, dass es ja entweder 4 oder 8 Stellen sein <strong>müssen</strong>, zwei sind verboten, daher ging die Ausgabe nicht. Also auch mein Codebeispiel sollte lauten:</p>
<pre><code class="language-cpp">int t\u00FCre = 4; // Variable türe
std::cout &lt;&lt; t\u00FCre &lt;&lt; std::endl;
</code></pre>
<p>Nun gut, wahrscheinlich ist das einfach nochmals eine Ebene früher, wo das ersetzt wird. Das ist dann kein Stringescapezeichen mehr. Es funktioniert zwar, aber ob es wirklich per Standard korrekt ist, bin ich mir nicht so sicher. Naja, was solls, hauptsache es geht, es soll ja nur laufen, danach kann ich dann das SP1 erstellen <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="😃"
    /></p>
<p>(Microsoft ist ein schlechtes Vorbild ;))</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1724067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1724067</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Tue, 09 Jun 2009 19:06:45 GMT</pubDate></item></channel></rss>