<?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[Textdatei Teilweise auslesen]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich bin ein ziemlicher c++ neuling und möchte nun eine Textdatei auslesen, deren Inhalt z.B. so aussieht:</p>
<p>Produkt-Nr = &quot;1100&quot;;Beschreibung = &quot;Bücherregal&quot;</p>
<p>Wie kann ich nun in C++ diese Datei auslesen und z.B. nur den Wert der Beschreibung, also den in den Hochkomatas auslesen und in einer Variable speichern.</p>
<p>Muss ich dazu die Komplette Textdatei auslesen und dann im String vergleichen wo dieses Wort drin vorkommt oder gibt es da schon verfügbare Funktionen die ich noch nicht kenne?</p>
<p>Ich hoffe, dass ihr versteht was ich meine.</p>
<p>Gruß Dieda</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/198596/textdatei-teilweise-auslesen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 02 Oct 2026 07:22:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/198596.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 23 Nov 2007 08:55:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Textdatei Teilweise auslesen on Fri, 23 Nov 2007 08:55:32 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich bin ein ziemlicher c++ neuling und möchte nun eine Textdatei auslesen, deren Inhalt z.B. so aussieht:</p>
<p>Produkt-Nr = &quot;1100&quot;;Beschreibung = &quot;Bücherregal&quot;</p>
<p>Wie kann ich nun in C++ diese Datei auslesen und z.B. nur den Wert der Beschreibung, also den in den Hochkomatas auslesen und in einer Variable speichern.</p>
<p>Muss ich dazu die Komplette Textdatei auslesen und dann im String vergleichen wo dieses Wort drin vorkommt oder gibt es da schon verfügbare Funktionen die ich noch nicht kenne?</p>
<p>Ich hoffe, dass ihr versteht was ich meine.</p>
<p>Gruß Dieda</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1408620</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1408620</guid><dc:creator><![CDATA[Dieda]]></dc:creator><pubDate>Fri, 23 Nov 2007 08:55:32 GMT</pubDate></item><item><title><![CDATA[Reply to Textdatei Teilweise auslesen on Fri, 23 Nov 2007 09:05:51 GMT]]></title><description><![CDATA[<p>Ich fürchte, du mußt tatsächlich die gesamte Textdatei lesen und selber die relevanten Teile herausfiltern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1408633</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1408633</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 23 Nov 2007 09:05:51 GMT</pubDate></item><item><title><![CDATA[Reply to Textdatei Teilweise auslesen on Fri, 23 Nov 2007 10:43:18 GMT]]></title><description><![CDATA[<p>Für den Fall, dass du dir das Format der Textdatei (genauer: Der Daten) selbst ausdenken kannst, nähme ich an Deiner Stelle eine einfache spaltenweise Aufteilung:</p>
<pre><code>+---------------+-------------------------------+
|Produktnummer  |Beschreibung                   |
+---------------+-------------------------------+
| 1100          | Buecherregal                  |
| 1105          | Buecherregal (gross)          |
| 1200          | Wandschrank Smoerebroel       |
| ...           | ...                           |
+---------------+-------------------------------+
</code></pre>
<p>Diese Datei nennst du dann &quot;produktschluessel.txt&quot; oder irgend etwas passendes.</p>
<p>Der Inhalt dieser Datei sähe dann wie folgt aus:</p>
<pre><code>1100 Buecherregal
1105 Buecherregal (gross)
1200 Wandschrank Smoerebroel
...  ...
</code></pre>
<p>So müsstest du lediglich die Produktnummer auslesen und anschließend den Rest der Zeile für die Bezeichnung.</p>
<p>Wenn du deklarative Bezeichner benötigts, dann könntest du auf XML[1] setzen (da gibts fertige Bibliotheken, wenn auch nicht gerade für einen Neuling geeignet .. ich steige da auch noch nicht durch). Alternativ bietet sich auch eine einfache Datenbank an (sqlite[2] ist eine feine Sache, wenn nur ein Benutzer darauf zugreifen muss).</p>
<h2>Grüße... Heiko</h2>
<p>[1]: <a href="http://de.wikipedia.org/wiki/Extensible_Markup_Language" rel="nofollow">http://de.wikipedia.org/wiki/Extensible_Markup_Language</a><br />
[2]: <a href="http://www.sqlite.org/" rel="nofollow">http://www.sqlite.org/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1408709</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1408709</guid><dc:creator><![CDATA[bwbg]]></dc:creator><pubDate>Fri, 23 Nov 2007 10:43:18 GMT</pubDate></item><item><title><![CDATA[Reply to Textdatei Teilweise auslesen on Fri, 23 Nov 2007 10:56:48 GMT]]></title><description><![CDATA[<p>Wenn er sich das Dateiformat aussuchen darf, wäre eine Ini-Datei von Vorteil <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>
<pre><code>[Produkte]
1100=Buecherregal
1100101=Vergaserinnenbeleuchtung
1337=Kolbenrückholfeder
</code></pre>
<p>Mit GetPrivateProfilestring kann man das dann gut auslesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1408718</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1408718</guid><dc:creator><![CDATA[Machine]]></dc:creator><pubDate>Fri, 23 Nov 2007 10:56:48 GMT</pubDate></item><item><title><![CDATA[Reply to Textdatei Teilweise auslesen on Fri, 23 Nov 2007 12:59:31 GMT]]></title><description><![CDATA[<p>Dieda schrieb:</p>
<blockquote>
<p>Produkt-Nr = &quot;1100&quot;;Beschreibung = &quot;Bücherregal&quot;</p>
<p>Wie kann ich nun in C++ diese Datei auslesen und z.B. nur den Wert der Beschreibung, also den in den Hochkomatas auslesen und in einer Variable speichern.</p>
</blockquote>
<p>Hallo Dieda,</p>
<p>ja das ist möglich ohne die Datei erst ganz in den Speicher zu laden. Folgende Variante geht davon aus, dass der Schlüssel - d.h. das was vor dem '=' steht - ein Wort ist, also nicht durch ein Leerzeichen unterbrochen ist und dass zwischen dem Schlüssel und dem '=' immer mindestens ein Leer- oder Tabulatorzeichen steht (white space).</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;string&gt;

int main()
{
    using namespace std;
    ifstream in(&quot;datei.txt&quot;);
    char c;
    for( string key, value
        ;   in &gt;&gt; key &gt;&gt; c &amp;&amp; c == '='
        &amp;&amp;  in &gt;&gt; c &amp;&amp; c == '&quot;'
        &amp;&amp;  getline( in, value, '&quot;' ); )
    {
        if( key == &quot;Beschreibung&quot; )
        {
            // mache was mit 'value'
            cout &lt;&lt; key &lt;&lt; &quot; = &quot; &lt;&lt; value &lt;&lt; endl; 
        }
        if( in &gt;&gt; c &amp;&amp; c != ';' )
            in.setstate( ios_base::failbit );
    }
    return 0;
}
</code></pre>
<p>.. falls vor dem '=' nicht immer ein white space vorhanden ist, so frage noch mal nach.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1408804</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1408804</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Fri, 23 Nov 2007 12:59:31 GMT</pubDate></item></channel></rss>