<?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[Problem: CString zerteilen]]></title><description><![CDATA[<p>Ich habe ein Programm, welches über' Netzwerk Daten überträgt. Diese Daten liegen in folgender Form vor:<br />
<em>TYP;d1;d2;...;dN;</em><br />
<em>TYP</em> wird verwendet, damit das Programm entscheiden kann, was mit ankommenden Daten gemacht werden soll. <em>d1</em> bis <em>dN</em> stellen dann die Datenelemente dar, das können Zahlen, Strings usw. sein.</p>
<p>Nun habe ich folgenden Code:</p>
<pre><code class="language-cpp">CString incommingData(buffer);
CString ctrMark = incommingData.Left(incommingData.Find(';'));
incommingData = incommingData.Right(incommingData.Find(';'));
</code></pre>
<p>In <em>incommingData</em> liegen die übertragenen Daten (vollständig, habe ich getestet). In <em>ctrMark</em> wird der <em>TYP</em> abgespaltet, das hat eigentlich auch funktioniert, ich bekomme den <em>TYP</em> korrekt ausgegeben. Die restlichen, eigentlichen Daten sollen dann einfach wieder in <em>incommingData</em> liegen und später weiterverabeitet werden.</p>
<p>Das funktioniert leider nicht so ganz:<br />
1. Beispiel, hier funktioniert es: <em>&quot;LD_S;B;T;&quot;</em><br />
→ ctrMark = LD_S<br />
→ incommingData = B;T;</p>
<p>2. Beispiel, hier läuft es nicht: <em>&quot;LD_T;3;4;5;2;&quot;</em><br />
→ ctrMark = LD_T<br />
→ incommingData = 5;2;<br />
<strong>Es fehlen also die Daten in der Mitte des Strings!</strong></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/168673/problem-cstring-zerteilen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Apr 2026 02:49:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/168673.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 26 Dec 2006 13:47:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem: CString zerteilen on Tue, 26 Dec 2006 13:47:58 GMT]]></title><description><![CDATA[<p>Ich habe ein Programm, welches über' Netzwerk Daten überträgt. Diese Daten liegen in folgender Form vor:<br />
<em>TYP;d1;d2;...;dN;</em><br />
<em>TYP</em> wird verwendet, damit das Programm entscheiden kann, was mit ankommenden Daten gemacht werden soll. <em>d1</em> bis <em>dN</em> stellen dann die Datenelemente dar, das können Zahlen, Strings usw. sein.</p>
<p>Nun habe ich folgenden Code:</p>
<pre><code class="language-cpp">CString incommingData(buffer);
CString ctrMark = incommingData.Left(incommingData.Find(';'));
incommingData = incommingData.Right(incommingData.Find(';'));
</code></pre>
<p>In <em>incommingData</em> liegen die übertragenen Daten (vollständig, habe ich getestet). In <em>ctrMark</em> wird der <em>TYP</em> abgespaltet, das hat eigentlich auch funktioniert, ich bekomme den <em>TYP</em> korrekt ausgegeben. Die restlichen, eigentlichen Daten sollen dann einfach wieder in <em>incommingData</em> liegen und später weiterverabeitet werden.</p>
<p>Das funktioniert leider nicht so ganz:<br />
1. Beispiel, hier funktioniert es: <em>&quot;LD_S;B;T;&quot;</em><br />
→ ctrMark = LD_S<br />
→ incommingData = B;T;</p>
<p>2. Beispiel, hier läuft es nicht: <em>&quot;LD_T;3;4;5;2;&quot;</em><br />
→ ctrMark = LD_T<br />
→ incommingData = 5;2;<br />
<strong>Es fehlen also die Daten in der Mitte des Strings!</strong></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1198011</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1198011</guid><dc:creator><![CDATA[Evolver]]></dc:creator><pubDate>Tue, 26 Dec 2006 13:47:58 GMT</pubDate></item><item><title><![CDATA[Reply to Problem: CString zerteilen on Tue, 26 Dec 2006 15:17:09 GMT]]></title><description><![CDATA[<p>MSDN schrieb:</p>
<blockquote>
<p>CStringT Right(<br />
int nCount<br />
) const</p>
<p>nCount<br />
The number of characters to extract from this CStringT object.</p>
</blockquote>
<p>Wenn du den Rest von rechts mit der &quot;linken Suche&quot; willst, dann musst &quot;Gesamtlänge - gefundenen Index - 1 machen&quot;</p>
<p>einfacher wäre dann sicher folgendes:</p>
<pre><code class="language-cpp">incommingData.Delete(0,incommingData.Find(';') + 1);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1198038</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1198038</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Tue, 26 Dec 2006 15:17:09 GMT</pubDate></item><item><title><![CDATA[Reply to Problem: CString zerteilen on Tue, 26 Dec 2006 17:15:04 GMT]]></title><description><![CDATA[<p>OK, danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1198093</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1198093</guid><dc:creator><![CDATA[Evolver]]></dc:creator><pubDate>Tue, 26 Dec 2006 17:15:04 GMT</pubDate></item></channel></rss>