<?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[Benötige einen Schubbs in die richtige Richtung: Zwischenspeichern von Daten]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich arbeite mich seit einiger Zeit in C++ ein. Mein aktuelles Projekt hat zum Ziel ein<br />
Log einzulesen und daraus &quot;Regeln&quot; zu gewinnen. Diese Regeln können mehrfach im File<br />
vorkommen.</p>
<p>Also gehe ich derzeit wie folgt vor:</p>
<p>o Log-File wird zum Lesen geöffnet</p>
<p>o Ich loope über jede Zeile, schaue mit RegEx nach ob die der Datensatz gültig ist oder<br />
ob dieser mehrzeilig ist. Wenn ja, wird solange die nächste Zeile gelesen bis ich das Ende<br />
des Datensatz habe (Ja, das hört sich nicht nur wirr an! Ist aber leider so gegeben).</p>
<p>o Ist der komplette Datensatz eingelesen splitte ich ihn auf und packe die interessanten<br />
Infos in Variable. Die wesentlichen sind &quot;Zeilennummer&quot; und &quot;Regel&quot;</p>
<p>Merke: Jede Regel gehört später in eine spezifische Zeile und es können hunderte Regeln<br />
in einer Zeile stehen. Jede spezifische Zeile steht für ein Regelsatz.</p>
<p>Das Ausgabe-Format sieht also wie folgt aus:</p>
<p>Zeile 1&gt; &lt;Regel 1&gt; &lt;Regel 2&gt; &lt;Regel 3&gt;.... &lt;Regel N&gt;<br />
Zeile 2&gt; &lt;Regel 1&gt; &lt;Regel 2&gt; &lt;Regel 3&gt;.... &lt;Regel N&gt;<br />
Zeile 3&gt; &lt;Regel 1&gt; &lt;Regel 2&gt; &lt;Regel 3&gt;.... &lt;Regel N&gt;<br />
Zeile 4&gt; &lt;Regel 1&gt; &lt;Regel 2&gt; &lt;Regel 3&gt;.... &lt;Regel N&gt;</p>
<p>Zeile 1 könnte zum Beispiel den Luftverkehr regeln, Zeile 2 den Straßenverkehr, Zeile 3<br />
den Schienenverkehr usw. Mehr als 50 Zeilen sind nicht zu erwarten, aber jede Zeile kann<br />
komplexe Regeln von bis zu 20 Zeichen haben.</p>
<p>Was ich jetzt also aktuell in der Schleife habe ist die Zeilennummer und die aktuell<br />
gewonnene Regel.</p>
<p>Die aktuelle Frage ist nun wie ich das ganze am besten zwischen Speicher da während des<br />
Loops über alle Einträge ja weitere Einträge hinzukommen.</p>
<p>Multidimensionale Vektoren sollen nicht so Performant sein, insbesondere wenn ich noch<br />
auf die Existenz der aktuellen Regel prüfen möchte. In meiner heilen Datenbank-Welt ist<br />
die Lage einfach: Bau ne Tabelle die passt, lass den Index DupRecs vermeiden, insertiere<br />
bis Du fertig bist und les die ganze Tabelle sortiert aus.</p>
<p>Ich hab gegoogelt aber nicht wirklich was gefunden was mir hier weiter hilft. Wie macht<br />
man von der Theorie her so etwas am besten in C++? Auch wenn Geschwindigkeit dabei eher<br />
eine untergeordnete Rolle spielt: ich würde gerne lernen wie man so etwas professionell<br />
angeht.</p>
<p>Für Hinweise und Tipps bin ich dankbar <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>Gruß<br />
Blacksheep70</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/338242/benötige-einen-schubbs-in-die-richtige-richtung-zwischenspeichern-von-daten</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 18:27:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/338242.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 02 Jun 2016 14:09:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Benötige einen Schubbs in die richtige Richtung: Zwischenspeichern von Daten on Thu, 02 Jun 2016 14:37:43 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich arbeite mich seit einiger Zeit in C++ ein. Mein aktuelles Projekt hat zum Ziel ein<br />
Log einzulesen und daraus &quot;Regeln&quot; zu gewinnen. Diese Regeln können mehrfach im File<br />
vorkommen.</p>
<p>Also gehe ich derzeit wie folgt vor:</p>
<p>o Log-File wird zum Lesen geöffnet</p>
<p>o Ich loope über jede Zeile, schaue mit RegEx nach ob die der Datensatz gültig ist oder<br />
ob dieser mehrzeilig ist. Wenn ja, wird solange die nächste Zeile gelesen bis ich das Ende<br />
des Datensatz habe (Ja, das hört sich nicht nur wirr an! Ist aber leider so gegeben).</p>
<p>o Ist der komplette Datensatz eingelesen splitte ich ihn auf und packe die interessanten<br />
Infos in Variable. Die wesentlichen sind &quot;Zeilennummer&quot; und &quot;Regel&quot;</p>
<p>Merke: Jede Regel gehört später in eine spezifische Zeile und es können hunderte Regeln<br />
in einer Zeile stehen. Jede spezifische Zeile steht für ein Regelsatz.</p>
<p>Das Ausgabe-Format sieht also wie folgt aus:</p>
<p>Zeile 1&gt; &lt;Regel 1&gt; &lt;Regel 2&gt; &lt;Regel 3&gt;.... &lt;Regel N&gt;<br />
Zeile 2&gt; &lt;Regel 1&gt; &lt;Regel 2&gt; &lt;Regel 3&gt;.... &lt;Regel N&gt;<br />
Zeile 3&gt; &lt;Regel 1&gt; &lt;Regel 2&gt; &lt;Regel 3&gt;.... &lt;Regel N&gt;<br />
Zeile 4&gt; &lt;Regel 1&gt; &lt;Regel 2&gt; &lt;Regel 3&gt;.... &lt;Regel N&gt;</p>
<p>Zeile 1 könnte zum Beispiel den Luftverkehr regeln, Zeile 2 den Straßenverkehr, Zeile 3<br />
den Schienenverkehr usw. Mehr als 50 Zeilen sind nicht zu erwarten, aber jede Zeile kann<br />
komplexe Regeln von bis zu 20 Zeichen haben.</p>
<p>Was ich jetzt also aktuell in der Schleife habe ist die Zeilennummer und die aktuell<br />
gewonnene Regel.</p>
<p>Die aktuelle Frage ist nun wie ich das ganze am besten zwischen Speicher da während des<br />
Loops über alle Einträge ja weitere Einträge hinzukommen.</p>
<p>Multidimensionale Vektoren sollen nicht so Performant sein, insbesondere wenn ich noch<br />
auf die Existenz der aktuellen Regel prüfen möchte. In meiner heilen Datenbank-Welt ist<br />
die Lage einfach: Bau ne Tabelle die passt, lass den Index DupRecs vermeiden, insertiere<br />
bis Du fertig bist und les die ganze Tabelle sortiert aus.</p>
<p>Ich hab gegoogelt aber nicht wirklich was gefunden was mir hier weiter hilft. Wie macht<br />
man von der Theorie her so etwas am besten in C++? Auch wenn Geschwindigkeit dabei eher<br />
eine untergeordnete Rolle spielt: ich würde gerne lernen wie man so etwas professionell<br />
angeht.</p>
<p>Für Hinweise und Tipps bin ich dankbar <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>Gruß<br />
Blacksheep70</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2497711</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2497711</guid><dc:creator><![CDATA[Blacksheep70]]></dc:creator><pubDate>Thu, 02 Jun 2016 14:37:43 GMT</pubDate></item><item><title><![CDATA[Reply to Benötige einen Schubbs in die richtige Richtung: Zwischenspeichern von Daten on Thu, 02 Jun 2016 14:46:38 GMT]]></title><description><![CDATA[<p>Blacksheep70 schrieb:</p>
<blockquote>
<p>Multidimensionale Vektoren sollen nicht so Performant sein, insbesondere wenn ich noch<br />
auf die Existenz der aktuellen Regel prüfen möchte.</p>
</blockquote>
<p>Das ist in dieser allgemeinen Form dummes Zeug, insbesondere da man einen Vector auch schnell durchsuchen kann, wenn er sortiert ist.</p>
<p>Eine Alternative wäre möglicherweise map bzw. unorderd_map.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2497719</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2497719</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Thu, 02 Jun 2016 14:46:38 GMT</pubDate></item></channel></rss>