<?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[WideString Ärger]]></title><description><![CDATA[<p>kann mir jemand erklären, warum nach dem Ausführen dieses Codes l gleich 0 ist;</p>
<pre><code class="language-cpp">int l = 10;
WideString w = WideString(&quot;&quot;);
if (w == NULL)
  l = w.Length();
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/122423/widestring-ärger</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Jul 2026 17:25:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/122423.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 05 Oct 2005 14:53:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to WideString Ärger on Wed, 05 Oct 2005 14:53:24 GMT]]></title><description><![CDATA[<p>kann mir jemand erklären, warum nach dem Ausführen dieses Codes l gleich 0 ist;</p>
<pre><code class="language-cpp">int l = 10;
WideString w = WideString(&quot;&quot;);
if (w == NULL)
  l = w.Length();
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/885782</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/885782</guid><dc:creator><![CDATA[Xqgene]]></dc:creator><pubDate>Wed, 05 Oct 2005 14:53:24 GMT</pubDate></item><item><title><![CDATA[Reply to WideString Ärger on Wed, 05 Oct 2005 15:01:36 GMT]]></title><description><![CDATA[<p>Ich vermute dass WideString::operator wchar_t *() aufgerufen wird der dann Null zurückgibt wenn der String leer ist.</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/885786</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/885786</guid><dc:creator><![CDATA[FireFlow]]></dc:creator><pubDate>Wed, 05 Oct 2005 15:01:36 GMT</pubDate></item><item><title><![CDATA[Reply to WideString Ärger on Wed, 05 Oct 2005 15:04:02 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Gegenfrage : Was sollte deiner Meinung nach denn sonst rauskommen? In w ist nun mal kein Zeichen, also ist die Länge des Strings gleich 0.</p>
<p>/Edit : Achso, es geht dir um die Bedingung. NULL wird dazu impliziet in einen WideString konvertiert, indem der Konstruktor für char* aufgerufen wird. Und damit wird ein leerer WideString mit einem leerem WideString verglichen.</p>
<p>bis bald<br />
akaei</p>
]]></description><link>https://www.c-plusplus.net/forum/post/885787</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/885787</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 05 Oct 2005 15:04:02 GMT</pubDate></item><item><title><![CDATA[Reply to WideString Ärger on Wed, 05 Oct 2005 15:12:18 GMT]]></title><description><![CDATA[<p>Warum nicht meine Methode? - Warum konvertiert der Compiler NULL in einen WideString und nicht den WideString in einen Pointer?</p>
<p>ps: du hast dich bei deinem Namen vertippt <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>edit:</p>
<pre><code class="language-cpp">struct Foo
{
    Foo() { std::cout &lt;&lt; &quot;Foo::Foo();\n&quot;; }
    Foo(const char* p) { std::cout &lt;&lt; &quot;Foo::Foo(const char*);\n&quot;; }
    operator const char*() { std::cout &lt;&lt; &quot;Foo:: operator const char*();\n&quot;; return NULL;}
};

int main(int argc, char* argv[])
{
        Foo bar;
        if(bar == NULL) {
            std::cout &lt;&lt; &quot;bar == NULL&quot;;
        }
}
</code></pre>
<p>Gibt mir das Recht? :p</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/885794</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/885794</guid><dc:creator><![CDATA[FireFlow]]></dc:creator><pubDate>Wed, 05 Oct 2005 15:12:18 GMT</pubDate></item><item><title><![CDATA[Reply to WideString Ärger on Thu, 06 Oct 2005 05:57:02 GMT]]></title><description><![CDATA[<p>es wird wohl so sein, aber ist das nicht totaller Schwachsinn?</p>
<p>noch mehr dazu:</p>
<p>WideString w1 = WideString(&quot;&quot;);<br />
WIdeString w2 = L&quot;&quot;;</p>
<p>und jetzt kommt: w1 ungleich(!) w2.</p>
<p>aber w1.Length() == w2.Length();</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/886114</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886114</guid><dc:creator><![CDATA[Xqgene]]></dc:creator><pubDate>Thu, 06 Oct 2005 05:57:02 GMT</pubDate></item><item><title><![CDATA[Reply to WideString Ärger on Thu, 06 Oct 2005 06:32:38 GMT]]></title><description><![CDATA[<p>keine ahnung was du so verzapfst, aber bei mir sind w1 und w2 gleich!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886128</guid><dc:creator><![CDATA[Sunday]]></dc:creator><pubDate>Thu, 06 Oct 2005 06:32:38 GMT</pubDate></item><item><title><![CDATA[Reply to WideString Ärger on Thu, 06 Oct 2005 06:38:22 GMT]]></title><description><![CDATA[<p>FireFlow schrieb:</p>
<blockquote>
<p>Warum nicht meine Methode? - Warum konvertiert der Compiler NULL in einen WideString und nicht den WideString in einen Pointer?</p>
</blockquote>
<p>weil der WideString keinen Funktionsoperator hat der nen Zeiger zurückliefert (wozu auch), ausserdem hat WideString nen Vergleichsoperator == ueber den der Vergleich erfolgt und dieser erwartet (völlig unerwartet) nen WideString als Argument!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886130</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886130</guid><dc:creator><![CDATA[Sunday]]></dc:creator><pubDate>Thu, 06 Oct 2005 06:38:22 GMT</pubDate></item><item><title><![CDATA[Reply to WideString Ärger on Thu, 06 Oct 2005 06:53:12 GMT]]></title><description><![CDATA[<blockquote>
<p>keine ahnung was du so verzapfst, aber bei mir sind w1 und w2 gleich!</p>
</blockquote>
<p>es kommt rauf an, wie du deine anweisung im quellcode hast!</p>
<p>hier ein kleiner test:</p>
<pre><code class="language-cpp">WideString w1;                   // Data:NULL
    w1 = L&quot;&quot;;                        // Data:&quot;&quot;
    int l1 = w1.Length();            // l1 = 0

    WideString w2 = L&quot;&quot;;             // Data:NULL
    int l2 = w2.Length();            // l2 = 0

    WideString w3 = L&quot;TEST&quot;;         // Data:TEST
    w3 = L&quot;&quot;;                        // Data:&quot;&quot;
    int l3 = w3.Length();            // l3 = 42

    WideString w4 = WideString(&quot;&quot;);  // Data: NULL
    int l4 = w4.Length();            // l4 = 0

    WideString w5;                   // Data:NULL
    w5 = WideString(&quot;&quot;);             // Data:NULL
    int l5 = w5.Length();            // l5 = 0

    WideString w6 = WideString(&quot;TEST&quot;);  // Data:TEST
    w6 = WideString(&quot;&quot;);                 // Data:NULL
    int l6 = w6.Length();                // l6 = 0
</code></pre>
<p>je nach dem, wie mann das im quellcode eingibt, kommen vollig unterschiedliche ergebnisse.</p>
<p>bei test 3 ist der aller schlimster</p>
<p>ich vermutte mal, dass wenn ich im editor die Schriftart ändere, bekomme ich wieder mal andere Ergebnisse</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886139</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886139</guid><dc:creator><![CDATA[Xqgene]]></dc:creator><pubDate>Thu, 06 Oct 2005 06:53:12 GMT</pubDate></item><item><title><![CDATA[Reply to WideString Ärger on Thu, 06 Oct 2005 12:12:17 GMT]]></title><description><![CDATA[<p>Sunday schrieb:</p>
<blockquote>
<p>FireFlow schrieb:</p>
<blockquote>
<p>Warum nicht meine Methode? - Warum konvertiert der Compiler NULL in einen WideString und nicht den WideString in einen Pointer?</p>
</blockquote>
<p>weil der WideString keinen Funktionsoperator hat der nen Zeiger zurückliefert (wozu auch), ausserdem hat WideString nen Vergleichsoperator == ueber den der Vergleich erfolgt und dieser erwartet (völlig unerwartet) nen WideString als Argument!</p>
</blockquote>
<p>Achja?</p>
<pre><code class="language-cpp">// wstring.h
namespace System
{

  class RTL_DELPHIRETURN WideString
  {
     /* [...] */
  public:
     operator BSTR() const          { return Data; }
     /* [...] */
  };

}

// in irgendwelchen anderen Headern
typedef /* [wire_marshal] */ OLECHAR *BSTR;
typedef WCHAR OLECHAR; 
typedef wchar_t WCHAR;
</code></pre>
<p>Deinen Vergleichsoperator finde ich jedoch gerade nirgends <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>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886371</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886371</guid><dc:creator><![CDATA[FireFlow]]></dc:creator><pubDate>Thu, 06 Oct 2005 12:12:17 GMT</pubDate></item><item><title><![CDATA[Reply to WideString Ärger on Thu, 06 Oct 2005 14:28:24 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">// in wstring.h
bool __fastcall operator ==(const WideString&amp; rhs) const;
bool __fastcall operator !=(const WideString&amp; rhs) const;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/886477</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886477</guid><dc:creator><![CDATA[Sunday]]></dc:creator><pubDate>Thu, 06 Oct 2005 14:28:24 GMT</pubDate></item></channel></rss>