<?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[Funktion &amp;quot;L&amp;quot; nachbauen]]></title><description><![CDATA[<p>Hidiho <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>Hab da wieder ma ne Frage *G*<br />
Was genau macht die Funktion</p>
<pre><code class="language-cpp">L&quot;String&quot;
</code></pre>
<p>und wie kann ich diese manuell nachbauen?</p>
<p>...</p>
<p>Ich muss einen Adressstring bauen und den an eine Funktion übergeben, die ein wchar_t* argument erwartet.</p>
<p>Mache ich das Ganze wie folgt:</p>
<pre><code class="language-cpp">Klasse-&gt;Funktion(L&quot;Adressstring&quot;);
</code></pre>
<p>funktionierts einwandfrei.</p>
<p>...</p>
<p>Mache ich das Ganze dynamisch, weil ich den Adressstring aus mehreren Teilen zusammensetzen muss, klappt das nicht mehr.</p>
<pre><code class="language-cpp">AnsiString sAdressString = ...;
wchar_t wAdressString = (unsigned int) sAdressString.c_str();
Klasse-&gt;Funktion(&amp;wchar_t);
</code></pre>
<p>Der Funktionsaufruf klappt zwar, aber ich erhalte keine Werte mehr, weil (vermute ich mal) die Adresse durch &quot;(unsigned int)&quot; verkürzt wurde und nicht mehr auf den C-Pointer zeigt.<br />
Parse ich das aber zu &quot;(long)&quot; bekomme ich Fehlermeldungen, dass diese Konvertierung nicht möglich wäre.</p>
<p>Also entweder klappt das Compilieren und ich erhalte keine Werte mehr, oder ich wandle verlustfrei um und ich erhalte Compiler-fehler. *lol*</p>
<p>...</p>
<p>Was kann ich da machen?<br />
In Fällen wo der Adressstring fix ist, klappt das ja alles, muss ich diesen aber erst zusammensetzen (z.B. wegen einem variablen Teil) klappts aufgrund der Typumwandlungen nich mehr.</p>
<p>Es liegt übrigens definitiv an den Umwandlungen, ich habe mal einen funktionierenden Adressstring durch die Umwandlungen gejagt und prompt klappts nicht mehr.</p>
<p>Danke im voraus</p>
<p>cu Patrick</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/205272/funktion-quot-l-quot-nachbauen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 19 Aug 2026 19:46:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/205272.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 12 Feb 2008 14:00:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktion &amp;quot;L&amp;quot; nachbauen on Tue, 12 Feb 2008 14:05:01 GMT]]></title><description><![CDATA[<p>Hidiho <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>Hab da wieder ma ne Frage *G*<br />
Was genau macht die Funktion</p>
<pre><code class="language-cpp">L&quot;String&quot;
</code></pre>
<p>und wie kann ich diese manuell nachbauen?</p>
<p>...</p>
<p>Ich muss einen Adressstring bauen und den an eine Funktion übergeben, die ein wchar_t* argument erwartet.</p>
<p>Mache ich das Ganze wie folgt:</p>
<pre><code class="language-cpp">Klasse-&gt;Funktion(L&quot;Adressstring&quot;);
</code></pre>
<p>funktionierts einwandfrei.</p>
<p>...</p>
<p>Mache ich das Ganze dynamisch, weil ich den Adressstring aus mehreren Teilen zusammensetzen muss, klappt das nicht mehr.</p>
<pre><code class="language-cpp">AnsiString sAdressString = ...;
wchar_t wAdressString = (unsigned int) sAdressString.c_str();
Klasse-&gt;Funktion(&amp;wchar_t);
</code></pre>
<p>Der Funktionsaufruf klappt zwar, aber ich erhalte keine Werte mehr, weil (vermute ich mal) die Adresse durch &quot;(unsigned int)&quot; verkürzt wurde und nicht mehr auf den C-Pointer zeigt.<br />
Parse ich das aber zu &quot;(long)&quot; bekomme ich Fehlermeldungen, dass diese Konvertierung nicht möglich wäre.</p>
<p>Also entweder klappt das Compilieren und ich erhalte keine Werte mehr, oder ich wandle verlustfrei um und ich erhalte Compiler-fehler. *lol*</p>
<p>...</p>
<p>Was kann ich da machen?<br />
In Fällen wo der Adressstring fix ist, klappt das ja alles, muss ich diesen aber erst zusammensetzen (z.B. wegen einem variablen Teil) klappts aufgrund der Typumwandlungen nich mehr.</p>
<p>Es liegt übrigens definitiv an den Umwandlungen, ich habe mal einen funktionierenden Adressstring durch die Umwandlungen gejagt und prompt klappts nicht mehr.</p>
<p>Danke im voraus</p>
<p>cu Patrick</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1454422</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1454422</guid><dc:creator><![CDATA[Errraddicator]]></dc:creator><pubDate>Tue, 12 Feb 2008 14:05:01 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion &amp;quot;L&amp;quot; nachbauen on Tue, 12 Feb 2008 14:20:19 GMT]]></title><description><![CDATA[<p>L ist nur ein Prefix um eine Stringliteral als Unicode zu kennzeichnen und keine Funktion. Das kannst du aber darauf nicht anwenden.<br />
Du könntest z.Bsp. gleich mit WideString statt Ansistring arbeiten, da sparst du dir das Konvertieren.<br />
Ansonsten kannst du z.Bsp. mit der memberfunktion WideChar konvertieren.</p>
<pre><code class="language-cpp">AnsiString sAdressString = ...;
size_t length(sAdressString.WideCharBufSize());
wchar_t* wAdressString = new wchar_t[length];
sAdressString.WideChar(wAdressString , length);
Klasse-&gt;Funktion(wAdressString );
delete[] wAdressString
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1454448</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1454448</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 12 Feb 2008 14:20:19 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion &amp;quot;L&amp;quot; nachbauen on Tue, 12 Feb 2008 14:24:48 GMT]]></title><description><![CDATA[<p>Hm ok, hatte zu &quot;L&quot; nix in der Hilfe gefunden, deswegen hab ich da einfach mal &quot;Funktion&quot; zu gesagt <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>Habs jetzt übrigens mit &quot;WideString&quot; gemacht, dann funktionierts einwandfrei.<br />
Sprich:</p>
<pre><code class="language-cpp">WideString fieldName = ...;
Klasse-&gt;Funktion(fieldName.c_bstr() );
</code></pre>
<p>Besten Dank. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1454451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1454451</guid><dc:creator><![CDATA[Errraddicator]]></dc:creator><pubDate>Tue, 12 Feb 2008 14:24:48 GMT</pubDate></item></channel></rss>