<?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[Text-DEBUG-Ausgabe als Bedingung (if-else) teilweise kopieren&#x2F;übernehmen]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich habe eine Frage:</p>
<p>im laufe meines Programms habe ich unter anderem folgendes stehen:</p>
<pre><code class="language-cpp">cout &lt;&lt; msg &lt;&lt; endl;
</code></pre>
<p>Wenn ich das Programm laufen lasse, dann bekomme ich bei der Ausführung in der &quot;Konsole&quot; folgendes ausgegeben:</p>
<pre><code class="language-cpp">ms01-BE
</code></pre>
<p>oder</p>
<pre><code class="language-cpp">ms01-UGS
</code></pre>
<p>oder ....</p>
<p>Ich will im Code eine if-Abfrage nach dem Motto:</p>
<p>if (*****BE) { tue dies }<br />
if (*****UGS) {tue das}</p>
<p>d.h. ich will im Quellcode aus &quot;msg&quot; heraus es auslesen können UND ZWAR nur die stellen ab dem 6tem Zeichen.</p>
<p>Hat jemand mal eine Idee wie ich es in C++ machen kann?</p>
<p>Danke für die Hilfe im Voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/238568/text-debug-ausgabe-als-bedingung-if-else-teilweise-kopieren-übernehmen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 00:08:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/238568.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 12 Apr 2009 14:56:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Text-DEBUG-Ausgabe als Bedingung (if-else) teilweise kopieren&#x2F;übernehmen on Sun, 12 Apr 2009 14:57:11 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich habe eine Frage:</p>
<p>im laufe meines Programms habe ich unter anderem folgendes stehen:</p>
<pre><code class="language-cpp">cout &lt;&lt; msg &lt;&lt; endl;
</code></pre>
<p>Wenn ich das Programm laufen lasse, dann bekomme ich bei der Ausführung in der &quot;Konsole&quot; folgendes ausgegeben:</p>
<pre><code class="language-cpp">ms01-BE
</code></pre>
<p>oder</p>
<pre><code class="language-cpp">ms01-UGS
</code></pre>
<p>oder ....</p>
<p>Ich will im Code eine if-Abfrage nach dem Motto:</p>
<p>if (*****BE) { tue dies }<br />
if (*****UGS) {tue das}</p>
<p>d.h. ich will im Quellcode aus &quot;msg&quot; heraus es auslesen können UND ZWAR nur die stellen ab dem 6tem Zeichen.</p>
<p>Hat jemand mal eine Idee wie ich es in C++ machen kann?</p>
<p>Danke für die Hilfe im Voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1694852</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1694852</guid><dc:creator><![CDATA[Michi8080]]></dc:creator><pubDate>Sun, 12 Apr 2009 14:57:11 GMT</pubDate></item><item><title><![CDATA[Reply to Text-DEBUG-Ausgabe als Bedingung (if-else) teilweise kopieren&#x2F;übernehmen on Sun, 12 Apr 2009 15:01:02 GMT]]></title><description><![CDATA[<p>Verwende eine der <code>compare</code> Überladungen:<br />
<a href="http://www.cplusplus.com/reference/string/string/compare/" rel="nofollow">http://www.cplusplus.com/reference/string/string/compare/</a></p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1694857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1694857</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 12 Apr 2009 15:01:02 GMT</pubDate></item><item><title><![CDATA[Reply to Text-DEBUG-Ausgabe als Bedingung (if-else) teilweise kopieren&#x2F;übernehmen on Sun, 12 Apr 2009 15:35:43 GMT]]></title><description><![CDATA[<p>erstmal danke für die schnelle Antwort.</p>
<p>D.h. ich kann in meinem Fall &quot;msg&quot; als ein String in compare-Funktion einfach so verwenden?</p>
<p>als z.b.:</p>
<p>if (msg.compare(6,3,&quot;ugs&quot;) == 0)<br />
{ tue etwas }</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1694876</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1694876</guid><dc:creator><![CDATA[Michi8080]]></dc:creator><pubDate>Sun, 12 Apr 2009 15:35:43 GMT</pubDate></item><item><title><![CDATA[Reply to Text-DEBUG-Ausgabe als Bedingung (if-else) teilweise kopieren&#x2F;übernehmen on Sun, 12 Apr 2009 15:57:05 GMT]]></title><description><![CDATA[<p>und noch was.</p>
<p>Gibt es eine andere Möglichkeit (ohne Funktionen der stdlib) ?<br />
Gibt es da vielleicht einen Umweg?</p>
<p>Wie kann ich im Quellcode direkt auf die cout Ausgabe von &quot;msg&quot; zugreifen, wenn es &quot;intern&quot; im Code nicht als ein anderer eigens Definierter Datentyp ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1694882</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1694882</guid><dc:creator><![CDATA[Michi8080]]></dc:creator><pubDate>Sun, 12 Apr 2009 15:57:05 GMT</pubDate></item><item><title><![CDATA[Reply to Text-DEBUG-Ausgabe als Bedingung (if-else) teilweise kopieren&#x2F;übernehmen on Sun, 12 Apr 2009 15:57:19 GMT]]></title><description><![CDATA[<p>Nicht ganz, schau dir mal dieses Beispiel an:</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;iostream&gt;

int main()
{
	std::string test1 = &quot;hello world&quot;;
	std::string test2 = &quot;hello world!&quot;;

	if(test1.compare(6, 5, &quot;world&quot;) == 0)
	{
		std::cout &lt;&lt; &quot;test1 ends with world&quot; &lt;&lt; std::endl;
	}

	if(test2.compare(6, 5, &quot;world&quot;) == 0)
	{
		std::cout &lt;&lt; &quot;test2 ends with world&quot; &lt;&lt; std::endl;
	}

	std::cin.get();

	return 0;
}
</code></pre>
<p>Ausgabe:</p>
<pre><code>test1 ends with world
test2 ends with world
</code></pre>
<p>Grundsätzlich nicht korrekt. Daher verwende lieber std::string::npos als zweites Argument. So wird der ganze restliche String zum Vergleich hinzugezogen:</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;iostream&gt;

int main()
{
	std::string test1 = &quot;hello world&quot;;
	std::string test2 = &quot;hello world!&quot;;

	if(test1.compare(6, std::string::npos, &quot;world&quot;) == 0)
	{
		std::cout &lt;&lt; &quot;test1 ends with world&quot; &lt;&lt; std::endl;
	}

	if(test2.compare(6, std::string::npos, &quot;world&quot;) == 0)
	{
		std::cout &lt;&lt; &quot;test2 ends with world&quot; &lt;&lt; std::endl;
	}

	std::cin.get();

	return 0;
}
</code></pre>
<p>Ausgabe:</p>
<pre><code>test1 ends with world
</code></pre>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1694883</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1694883</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 12 Apr 2009 15:57:19 GMT</pubDate></item><item><title><![CDATA[Reply to Text-DEBUG-Ausgabe als Bedingung (if-else) teilweise kopieren&#x2F;übernehmen on Sun, 12 Apr 2009 16:05:52 GMT]]></title><description><![CDATA[<p>ich habe es eben ausprobiert :</p>
<pre><code class="language-cpp">if (!msg.compare(5, 3, &quot;UGS&quot;)) { tue etwas }
</code></pre>
<p>und leider macht der compiler nicht mit <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> ...</p>
<p>Fehler: Abfrage des Elementes »compare« in »msg«, das vom Nicht-Klassentyp »Ieee802*« ist</p>
<p>natürlich habe ich vorher</p>
<p>#include &lt;string&gt;</p>
<p>hinzugefügt</p>
<p>Ich glaube hier brauche ich eine &quot;andere&quot; Möglichkeit, wenn es denn diese 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="🙂"
    /> ... ein UMWEG <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/1694885</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1694885</guid><dc:creator><![CDATA[Michi8080]]></dc:creator><pubDate>Sun, 12 Apr 2009 16:05:52 GMT</pubDate></item><item><title><![CDATA[Reply to Text-DEBUG-Ausgabe als Bedingung (if-else) teilweise kopieren&#x2F;übernehmen on Sun, 12 Apr 2009 16:31:34 GMT]]></title><description><![CDATA[<p>Oh, tut mir Leid. Da wir hier im C++ Forum sind, habe ich angenommen, dass msg vom Typ <code>std::string</code> ist. Aber dem scheint nicht der Fall zu sein. Was ist das für ein Typ? Aus welcher Bibliothek? <code>Ieee802</code> ist jedenfalls kein Standard C++ Typ.</p>
<p>Und was ist das für eine seltsame Fehlermeldung? Welchen Kompiler benutzt du?</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1694895</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1694895</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 12 Apr 2009 16:31:34 GMT</pubDate></item><item><title><![CDATA[Reply to Text-DEBUG-Ausgabe als Bedingung (if-else) teilweise kopieren&#x2F;übernehmen on Sun, 12 Apr 2009 16:38:52 GMT]]></title><description><![CDATA[<p>also der Typ ist zu speziell um es hier deutlich auszuführen.</p>
<p>ich verwende schon den neuesten Compiler (arbeite unter Ubuntu)</p>
<p>also gibt es keine Möglichkeit das ich im Quellcode direkt auf die &quot;spätere&quot; cout Ausgabe &quot;in Text/String-Form&quot; irgendwie dran kommen kann, ohne etwas includieren zu müssen bzw. stdlib zu verwenden?</p>
<p>in jedem Fall, danke für die Hilfe!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1694900</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1694900</guid><dc:creator><![CDATA[Michi8080]]></dc:creator><pubDate>Sun, 12 Apr 2009 16:38:52 GMT</pubDate></item><item><title><![CDATA[Reply to Text-DEBUG-Ausgabe als Bedingung (if-else) teilweise kopieren&#x2F;übernehmen on Sun, 12 Apr 2009 16:46:39 GMT]]></title><description><![CDATA[<p>Michi8080 schrieb:</p>
<blockquote>
<p>ich verwende schon den neuesten Compiler (arbeite unter Ubuntu)</p>
</blockquote>
<p>ubuntu ist ein compiler?</p>
<blockquote>
<p>also gibt es keine Möglichkeit das ich im Quellcode direkt auf die &quot;spätere&quot; cout Ausgabe &quot;in Text/String-Form&quot; irgendwie dran kommen kann, ohne etwas includieren zu müssen bzw. stdlib zu verwenden?</p>
</blockquote>
<p>äh? wie jetzt? wenn du den text per cout ausgibst, dann verwendest du doch schon die standardbibliothek?<br />
gib den string doch einfach deiner parser-funktion statt ihn auszugeben, dann musst du ihn nicht aus der ausgabe fischen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1694904</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1694904</guid><dc:creator><![CDATA[trödelfant]]></dc:creator><pubDate>Sun, 12 Apr 2009 16:46:39 GMT</pubDate></item><item><title><![CDATA[Reply to Text-DEBUG-Ausgabe als Bedingung (if-else) teilweise kopieren&#x2F;übernehmen on Sun, 12 Apr 2009 17:07:43 GMT]]></title><description><![CDATA[<p>also klar das ubuntu kein compiler ist.</p>
<p>ich nutze : gcc (Ubuntu 4.3.2-1ubuntu12) 4.3.2</p>
<p>Also ich habe leider bis jetzt noch nie mit parser-funktionen gearbeitet <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Also nochmal das Problem:</p>
<p>ich habe einen &quot;besonderen&quot; Datentyp BLA. Ich habe ein &quot;Objekt&quot; von BLA der heißt &quot;msg&quot;. &quot;msg&quot; wird intern im Programm unterschiedlich belegt &quot;ms**-****&quot;</p>
<p>wenn ich</p>
<pre><code class="language-cpp">cout &lt;&lt; msg &lt;&lt; endl;
</code></pre>
<p>ausführe dann bekomme ich als Ausgabe im Programm z.B: &quot;ms01-BE&quot; raus.</p>
<p>Was ich will:</p>
<p>ich will das ich im Code IRGENDWIE an den Inhalt von &quot;msg&quot; drankomme und ab der 5ten-Stelle vergleichen kann, so das ich z.b. folgende if-Abfrage erstellen kann :</p>
<pre><code class="language-cpp">if (msg = ms01-BE) {tue etwas}
if (msg = ms01-UGS) {tue etwas anderes}
</code></pre>
<p>wenn es eine Möglichkeit mit Parser-Funktionen gibt, könntest du mir vielleicht an einem einfachem Bsp. zeigen wie es geht???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1694911</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1694911</guid><dc:creator><![CDATA[Michi8080]]></dc:creator><pubDate>Sun, 12 Apr 2009 17:07:43 GMT</pubDate></item><item><title><![CDATA[Reply to Text-DEBUG-Ausgabe als Bedingung (if-else) teilweise kopieren&#x2F;übernehmen on Sun, 12 Apr 2009 17:14:29 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void parse(string const &amp; message)
{
  // hier das rein was dravere vorgeschlagen hat
}

parse(msg); // vor jeder ausgabe dein parse() aufrufen
cout &lt;&lt; msg &lt;&lt; endl;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1694915</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1694915</guid><dc:creator><![CDATA[trödelfant]]></dc:creator><pubDate>Sun, 12 Apr 2009 17:14:29 GMT</pubDate></item><item><title><![CDATA[Reply to Text-DEBUG-Ausgabe als Bedingung (if-else) teilweise kopieren&#x2F;übernehmen on Sun, 12 Apr 2009 17:19:29 GMT]]></title><description><![CDATA[<blockquote>
<p>also der Typ ist zu speziell um es hier deutlich auszuführen.</p>
</blockquote>
<p>dann wirste hier auch keine hilfe finden...<br />
entweder, du sagst uns, welchen typ du verwendest (zur not auch nen link) oder du sagst, wie die schnittstelle zu std::string bzw const char* ist...</p>
<p>dann kannste so was machen:</p>
<pre><code class="language-cpp">std::string tmp = deinstring.magic_c_str_fkt();

//siehe draveres vorschlag...
</code></pre>
<p>ich seh gerade, dass scho jmd ca. das selbe gesagt hat, aber naja... ^^</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1694917</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1694917</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 12 Apr 2009 17:19:29 GMT</pubDate></item></channel></rss>