<?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[Konvertierung von int zu LPCTSTR]]></title><description><![CDATA[<p>Hallo zusammen</p>
<p>ich habe sowas:</p>
<pre><code class="language-cpp">#define SAMPLESTATUS UNKNOWN 0
</code></pre>
<p>und moechte hier aus dem integer wieder auf das UNKNOWN schliessen, bzw mir anzeigen lassen:</p>
<pre><code class="language-cpp">GetDlgItem(IDC_SAMPLENAME_TF)-&gt;SetWindowText(pSample-&gt;m_sStatus);
</code></pre>
<p>Mein Problem ist jetzt, wie ich von dem Integer, das in m_sStatus steht, wieder auf den eigentlichen Status (also zum Beispiel unknown) komme. Geht das ueberhaupt?</p>
<p>Danke fuer eure Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/157087/konvertierung-von-int-zu-lpctstr</link><generator>RSS for Node</generator><lastBuildDate>Wed, 09 Sep 2026 00:50:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/157087.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 23 Aug 2006 07:41:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Konvertierung von int zu LPCTSTR on Wed, 23 Aug 2006 07:41:02 GMT]]></title><description><![CDATA[<p>Hallo zusammen</p>
<p>ich habe sowas:</p>
<pre><code class="language-cpp">#define SAMPLESTATUS UNKNOWN 0
</code></pre>
<p>und moechte hier aus dem integer wieder auf das UNKNOWN schliessen, bzw mir anzeigen lassen:</p>
<pre><code class="language-cpp">GetDlgItem(IDC_SAMPLENAME_TF)-&gt;SetWindowText(pSample-&gt;m_sStatus);
</code></pre>
<p>Mein Problem ist jetzt, wie ich von dem Integer, das in m_sStatus steht, wieder auf den eigentlichen Status (also zum Beispiel unknown) komme. Geht das ueberhaupt?</p>
<p>Danke fuer eure Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1122565</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1122565</guid><dc:creator><![CDATA[Samo]]></dc:creator><pubDate>Wed, 23 Aug 2006 07:41:02 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertierung von int zu LPCTSTR on Wed, 23 Aug 2006 07:45:42 GMT]]></title><description><![CDATA[<p>Nein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1122567</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1122567</guid><dc:creator><![CDATA[DarthZiu]]></dc:creator><pubDate>Wed, 23 Aug 2006 07:45:42 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertierung von int zu LPCTSTR on Wed, 23 Aug 2006 08:14:41 GMT]]></title><description><![CDATA[<p>Du könntest bestenfalls eine Funktion schreiben, die alle möglichen Werte einer Textausgabe zuordnet:</p>
<pre><code class="language-cpp">LPCTSTR to_str(int val)
{
  switch(val)
  {
  case UNKNOWN: return _T(&quot;Unknown&quot;);
  case STATE1 : return _T(&quot;Status 1&quot;);
  ...
  default:      return _T(&quot;...&quot;);
  }
}

GetDlgItem(IDC_SAMPLENAME_TF)-&gt;SetWindowText(to_str(pSample-&gt;m_sStatus));
</code></pre>
<p>(PS: Irgendwas sieht an deiner #define-Zeile seltsam aus)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1122581</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1122581</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 23 Aug 2006 08:14:41 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertierung von int zu LPCTSTR on Wed, 23 Aug 2006 08:19:14 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>...<br />
(PS: Irgendwas sieht an deiner #define-Zeile seltsam aus)</p>
</blockquote>
<p>Bin ich auch drüber gestolpert ... und kann mir nicht vorstellen, dass das sinnvoll einsatzbar ist (mal ganz davon abgesehen, dass der Präprozessor sowieso vom Teufel ist ! <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ß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1122583</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1122583</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 23 Aug 2006 08:19:14 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertierung von int zu LPCTSTR on Wed, 23 Aug 2006 08:24:08 GMT]]></title><description><![CDATA[<p>o.k., dann weiter:</p>
<p>ich habe eine switch-case Anwendung und moechte gerne auf dem Bildschirm was anzeigen. Wenn ich allerdings meinen jeweiligen String in der case Anwendung initialisieren will, bekomme ich den Fehler dass es nicht initialisiert werden konnte wegen den nachfolgenden cases.</p>
<pre><code class="language-cpp">switch(pSample-&gt;m_nStatus)
				{
					case 0:
						CString s = &quot;unknown&quot;;
						GetDlgItem(IDC_SAMPLESTATUS_TF)-&gt;SetWindowText(s);
						break;
					case 2:
                          CString t = &quot;sealed&quot;;
						GetDlgItem(IDC_SAMPLESTATUS_TF)-&gt;SetWindowText(t);
						break;
					case 3:
                          CString g = &quot;loading&quot;;
						GetDlgItem(IDC_SAMPLESTATUS_TF)-&gt;SetWindowText(g);
						break;
</code></pre>
<p>Die Fehlermeldung lautet dann:</p>
<pre><code class="language-cpp">error C2360: initialization of 's' is skipped by 'case' label
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1122591</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1122591</guid><dc:creator><![CDATA[samo]]></dc:creator><pubDate>Wed, 23 Aug 2006 08:24:08 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertierung von int zu LPCTSTR on Wed, 23 Aug 2006 08:34:04 GMT]]></title><description><![CDATA[<p>Du musst den string vor dem switch Deklarieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1122601</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1122601</guid><dc:creator><![CDATA[DarthZiu]]></dc:creator><pubDate>Wed, 23 Aug 2006 08:34:04 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertierung von int zu LPCTSTR on Wed, 23 Aug 2006 08:41:18 GMT]]></title><description><![CDATA[<p>DAS DA ist ein sehr gutes Beispiel, wie man es nicht machen sollte. Abgesehen von dem geänderten Wert für deine Strings passiert in jedem case-Block das selbe, also kannst du diesen Teil auch auslagern:</p>
<pre><code class="language-cpp">CString str;
switch(pSample-&gt;m_nStatus)
case 0:
  str = &quot;unknown&quot;;
  break;
case 2:
  str = &quot;sealed&quot;;
  break;
case 3:
  str = &quot;loading&quot;;
  break;
...
}
GetDlgItem(IDC_SAMPLESTATUS_TF)-&gt;SetWindowText(str);
</code></pre>
<p>Ansonsten noch etwas zu deinem Symptom: Variablen existieren im kompletten Block, in dem sie deklariert wurden (bis zur schließenden Klammer } ). Allerdings umgeht in deinem Fall das 'case 2:' den Abschnitt, in dem s initialisiert wurde (daß s in dem zugehörigen Block nicht verwendet wird, ist für den Compiler erstmal unerheblich - es existiert und hat nun einen undefinierten Wert). Als Lösung solltest du entweder die Deklarationen aus dem switch auslagern oder jeden case-Abschnitt in einen eigenen Block verpacken:</p>
<pre><code class="language-cpp">switch(test)
{
case 0:
  {
    CString s0 = &quot;Wert 0&quot;;
    ...
    break;
  }
case 1:
  {
    int v1 = 4711;
    ...
    break;
  }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1122610</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1122610</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 23 Aug 2006 08:41:18 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertierung von int zu LPCTSTR on Wed, 23 Aug 2006 09:03:38 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>...Allerdings umgeht in deinem Fall das 'case 2:' den Abschnitt, ...</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /><br />
Also das war mir definitiv auch neu ! Danke für die Erläuterung.</p>
<p>Wenn ich das also richtig verstehe, &quot;meckert&quot; der Compiler, dass man in den Scope der Variable &quot;durch eine Hintertür hineinspringen&quot; kann ... was dann das Abräumen (bei der &quot;}&quot; vom switch) uneindeutig macht.</p>
<p>CStoll schrieb:</p>
<blockquote>
<p>...(daß s in dem zugehörigen Block nicht verwendet wird, ist für den Compiler erstmal unerheblich ...</p>
</blockquote>
<p>... vor Allem, weil der Dtor auf jeden Fall aufgerufen wird, egal, ob man sie nun verwendet oder nicht.</p>
<p>Fühle mich bestätigt, da der Compiler kein Problem damit hat, wenn man die Variable in den letzten Block packt (ohne Klammern) ... da kann ja nicht mehr &quot;reingesprungen&quot; werden.</p>
<pre><code class="language-cpp">switch(i) {
   case 0:
      cout &lt;&lt; &quot; 0\n&quot;;
      break;
   case 1:
      string s(&quot;Simon&quot;);
      cout &lt;&lt; s &lt;&lt; &quot; default: &quot; &lt;&lt; i &lt;&lt; &quot;\n&quot;;
   }
</code></pre>
<p>Seeehr interessant !</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1122626</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1122626</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 23 Aug 2006 09:03:38 GMT</pubDate></item></channel></rss>