<?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[ProgrammDaten sinnvoll verwalten und speichern...]]></title><description><![CDATA[<p>Hallo liebe Com.,</p>
<p>Ich schreibe gerade an nem größerem Programm...dabei muss ich viele Informationen speichern, die vom Benutzer während der Laufzeit festgelegt werden...dazu gehören Zustände (Flags, bool) aber auch Texte (also Strings) etc...Wie könnte ich diese nun am besten verwalten? Empfiehlt sich da eine Klasse, die dann Get und Set Methoden hat ...+ Methoden zum speichern in Dateien ? Oder gibt es bessere Möglichkeiten ?</p>
<p>Vielen Dank schonmal!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/150476/programmdaten-sinnvoll-verwalten-und-speichern</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 16:10:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/150476.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 16 Jun 2006 22:08:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ProgrammDaten sinnvoll verwalten und speichern... on Fri, 16 Jun 2006 22:08:31 GMT]]></title><description><![CDATA[<p>Hallo liebe Com.,</p>
<p>Ich schreibe gerade an nem größerem Programm...dabei muss ich viele Informationen speichern, die vom Benutzer während der Laufzeit festgelegt werden...dazu gehören Zustände (Flags, bool) aber auch Texte (also Strings) etc...Wie könnte ich diese nun am besten verwalten? Empfiehlt sich da eine Klasse, die dann Get und Set Methoden hat ...+ Methoden zum speichern in Dateien ? Oder gibt es bessere Möglichkeiten ?</p>
<p>Vielen Dank schonmal!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079201</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079201</guid><dc:creator><![CDATA[Fragender-Wichtig!]]></dc:creator><pubDate>Fri, 16 Jun 2006 22:08:31 GMT</pubDate></item><item><title><![CDATA[Reply to ProgrammDaten sinnvoll verwalten und speichern... on Fri, 16 Jun 2006 22:19:31 GMT]]></title><description><![CDATA[<p>Leider bist du da sehr ungenau in deiner Ausführung. Um was handelt es sich dabei fachlich? (nicht technisch) Um eine Art Konfigurationsdatei? Da kann man dann z.B. sowas nehmen:<br />
<a href="http://www.boost.org/doc/html/program_options.html" rel="nofollow">http://www.boost.org/doc/html/program_options.html</a></p>
<p>Im Prinzip willst du da aber eher eine std::map haben, in der du Schlüssel-Wert-Paare speicherst. Getter/Setter in einer Klasse sind da etwas unflexibel, wenn es um viele Parameter geht und womöglich das ganze mit der Zeit anwächst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079205</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079205</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Fri, 16 Jun 2006 22:19:31 GMT</pubDate></item><item><title><![CDATA[Reply to ProgrammDaten sinnvoll verwalten und speichern... on Fri, 16 Jun 2006 22:33:21 GMT]]></title><description><![CDATA[<p>N' Abend,<br />
Danke für die später und ausführliche Antwort!</p>
<blockquote>
<p>Um was handelt es sich dabei fachlich?</p>
</blockquote>
<p>Um einen Media Player, der aber nicht nur Medien wiedergeben soll, sondern noch ne Menge mehr...da muss ne Menge gespeichert werden, wie zum Beispiel:</p>
<p>- minimiert starten?<br />
- mit Windows starten?<br />
- fenster immer im vordergrund?<br />
- uvm.</p>
<p>aber auch programm-spezifische daten(nur zu laufzeit):<br />
- pausiert oder nicht<br />
- aktuelle anzahl der tracks inner playlist<br />
- uvm.</p>
<blockquote>
<p>wenn es um viele Parameter geht und womöglich das ganze mit der Zeit anwächst</p>
</blockquote>
<p>genau so ist es!</p>
<p>Was ist denn std::map? (std ist der Standard Namespace -schon klar- aber 'map'?)</p>
<p>Merci! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079210</guid><dc:creator><![CDATA[Fragender-Wichtig!]]></dc:creator><pubDate>Fri, 16 Jun 2006 22:33:21 GMT</pubDate></item><item><title><![CDATA[Reply to ProgrammDaten sinnvoll verwalten und speichern... on Fri, 16 Jun 2006 22:36:13 GMT]]></title><description><![CDATA[<p>Hey!</p>
<p>Eine Map speichert eine Liste von Schlüssel-Wert-Paaren. Guckst du hier, bei C++ Maps ;):<br />
<a href="http://www.cppreference.com/" rel="nofollow">http://www.cppreference.com/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079212</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079212</guid><dc:creator><![CDATA[Vellas]]></dc:creator><pubDate>Fri, 16 Jun 2006 22:36:13 GMT</pubDate></item><item><title><![CDATA[Reply to ProgrammDaten sinnvoll verwalten und speichern... on Fri, 16 Jun 2006 22:39:03 GMT]]></title><description><![CDATA[<p>Hoi,<br />
Was darf ich mir unter</p>
<p>Vellas schrieb:</p>
<blockquote>
<p>Schlüssel-Wert-Paaren</p>
</blockquote>
<p>vorstellen ?</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079214</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079214</guid><dc:creator><![CDATA[Fragender-Wichtig!]]></dc:creator><pubDate>Fri, 16 Jun 2006 22:39:03 GMT</pubDate></item><item><title><![CDATA[Reply to ProgrammDaten sinnvoll verwalten und speichern... on Fri, 16 Jun 2006 22:44:24 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">std::map&lt;std::string, std::string&gt; einstellungen;
einstellungen[&quot;Port&quot;] = &quot;80&quot;;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1079215</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079215</guid><dc:creator><![CDATA[beispiel]]></dc:creator><pubDate>Fri, 16 Jun 2006 22:44:24 GMT</pubDate></item><item><title><![CDATA[Reply to ProgrammDaten sinnvoll verwalten und speichern... on Fri, 16 Jun 2006 22:49:10 GMT]]></title><description><![CDATA[<p>hm ahja, gibts dazu Tutorials ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079219</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079219</guid><dc:creator><![CDATA[Fragender-Wichtig!]]></dc:creator><pubDate>Fri, 16 Jun 2006 22:49:10 GMT</pubDate></item><item><title><![CDATA[Reply to ProgrammDaten sinnvoll verwalten und speichern... on Fri, 16 Jun 2006 22:52:54 GMT]]></title><description><![CDATA[<p>Guck in den Link den ich gepostet habe, da stehen nützliche Informationen drin. Ansonsten google: <a href="https://www.google.de/search?&amp;q=std%3A%3Amap" rel="nofollow">Google: std::map</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079222</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079222</guid><dc:creator><![CDATA[Vellas]]></dc:creator><pubDate>Fri, 16 Jun 2006 22:52:54 GMT</pubDate></item><item><title><![CDATA[Reply to ProgrammDaten sinnvoll verwalten und speichern... on Fri, 16 Jun 2006 23:34:57 GMT]]></title><description><![CDATA[<p>Eine Map ist eine (simpel ausgedrückt) zweispaltige Tabelle. Erste Spalte ein Schlüssel, zweite ein Wert. Die std::map wird dabei dynamisch größer, wenn du was hinzufügst. Auch ist sie autom. sortiert.</p>
<pre><code>Schlüssel   | Wert
============+===========
Farbe       | grün
Schrift     | Arial
Fullscreen  | false
...
</code></pre>
<p>Dafür ist eine map ideal:</p>
<pre><code class="language-cpp">std::map&lt;string, string&gt; properties;
properties[&quot;Farbe&quot;] = &quot;grün&quot;;
properties[&quot;Schrift&quot;] = &quot;Arial&quot;;

// lesen:
cout &lt;&lt; properties[&quot;Farbe&quot;] &lt;&lt; endl; // gibt grün zurück
</code></pre>
<p>Du solltest dich mal lieber mit der C++ Standard-Library beschäftigen, da dort sehr viele fertige und nützliche Dinge enthalten sind, die einem C++ Programmierer das Leben leichter machen.</p>
<p>Hier ein dt. Artikel über die verschiedenen Container, u.a. auch der map:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-143816.html-t-is-143816.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-143816.html-t-is-143816.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079226</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079226</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Fri, 16 Jun 2006 23:34:57 GMT</pubDate></item><item><title><![CDATA[Reply to ProgrammDaten sinnvoll verwalten und speichern... on Fri, 16 Jun 2006 23:33:33 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1463">@Artchi</a>:</p>
<p>Jo mit der STL hab ich mich noch nicht beschäftigt, werd ich aber jetzt mal machen...gut Idee...</p>
<p>Aber meinst du es ist damit möglich, diese auch 'relativ komfortabel' in einer Datei zu speichern ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079234</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079234</guid><dc:creator><![CDATA[Fragender-Wichtig!]]></dc:creator><pubDate>Fri, 16 Jun 2006 23:33:33 GMT</pubDate></item><item><title><![CDATA[Reply to ProgrammDaten sinnvoll verwalten und speichern... on Fri, 16 Jun 2006 23:47:29 GMT]]></title><description><![CDATA[<p>Du kannst die Map in einen filestream (std::fstream) schieben und somit rausschreiben. Beim Einlesen der gleiche Weg. Die Klassen arbeiten schon recht gut Hand in Hand zusammen.</p>
<p>Anstatt das du in ein cout (Konsolen-Stream) die Properties rausschreibst, machst du das in einen Filestream. Ganz easy.</p>
<p>Dann gibts ja noch (wie schon von mir im ersten Posting gepostet) die boost::program_options, die eigentlich besser dafür geeignet ist, weil sie sich genau diesem Thema annimmt und du praktisch nichts mehr coden mußt. Nämlich Programm Optionen zu speichern und laden. boost::program_options benutzt intern auch die map, aber gibt dir zusätzliche Features. Z.B. kann man AUCH über Kommendozeile die Optionen übergeben.</p>
<p><a href="http://www.boost.org/doc/html/program_options.html" rel="nofollow">http://www.boost.org/doc/html/program_options.html</a></p>
<p>Aber dazu müsstest du erstmal Boost herunter laden und einrichten. Boost ist eine mächtige Library für C++ die sehr gut die Standardlib von C++ ergänzt. Aber wenn du bisher nicht mal die Std-Lib kennst, könnte dich Boost evtl. am Anfang &quot;erschlagen&quot;. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1079242</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079242</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Fri, 16 Jun 2006 23:47:29 GMT</pubDate></item><item><title><![CDATA[Reply to ProgrammDaten sinnvoll verwalten und speichern... on Fri, 16 Jun 2006 23:52:48 GMT]]></title><description><![CDATA[<blockquote>
<p>Du kannst die Map in einen filestream (std::fstream) schieben und somit rausschreiben. Beim Einlesen der gleiche Weg. Die Klassen arbeiten schon recht gut Hand in Hand zusammen.</p>
<p>Anstatt das du in ein cout (Konsolen-Stream) die Properties rausschreibst, machst du das in einen Filestream. Ganz easy.</p>
</blockquote>
<p>jo Filestreams kenn ich <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>
<blockquote>
<p>Dann gibts ja noch (wie schon von mir im ersten Posting gepostet) die boost::program_options, die eigentlich besser dafür geeignet ist, weil sie sich genau diesem Thema annimmt und du praktisch nichts mehr coden mußt. Nämlich Programm Optionen zu speichern und laden. boost::program_options benutzt intern auch die map, aber gibt dir zusätzliche Features. Z.B. kann man AUCH über Kommendozeile die Optionen übergeben.</p>
<p><a href="http://www.boost.org/doc/html/program_options.html" rel="nofollow">http://www.boost.org/doc/html/program_options.html</a></p>
<p>Aber dazu müsstest du erstmal Boost herunter laden und einrichten. Boost ist eine mächtige Library für C++ die sehr gut die Standardlib von C++ ergänzt. Aber wenn du bisher nicht mal die Std-Lib kennst, könnte dich Boost evtl. am Anfang &quot;erschlagen&quot;. <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>
</blockquote>
<p>Hm ja....naja ich benutz nicht so gerne externe Libs; Programmier das lieber selbst...dabei lernt man ja auch <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> ist das ne OpenSource Lib ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079246</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079246</guid><dc:creator><![CDATA[Fragender-Wichtig!]]></dc:creator><pubDate>Fri, 16 Jun 2006 23:52:48 GMT</pubDate></item><item><title><![CDATA[Reply to ProgrammDaten sinnvoll verwalten und speichern... on Sat, 17 Jun 2006 08:18:30 GMT]]></title><description><![CDATA[<p>Aha, und den MP3 decoder programmierst du auch selber? Oder benutzt du dafür eine externe Lib?</p>
<p>Im ernst, solange es dir ums lernen geht: i.O. Und beim Thema Usersettings zum Lernen alles elber machen, i.O. Aber um später effektiv arbeiten zu können, kommt man einfach nicht um externe Libs umhin. Außerdem sollte man immer Standard-Libs und bekannte Libs einem Selbstbau vorziehen: 1. weil die fertigen Libs meistens schon fehlerfrei sind (man selber macht eher mal einen Fehler), 2. der Code besser von jemand anderem wartbar ist, da er nicht DEINEN Code lernen muß, sondern Standardcode (z.B. map) schon kennt und gleich weiß, was es macht.</p>
<p>Wie gesagt: Zum lernen natürlich am Anfang was anderes. Aber solltest du dir merken!</p>
<p>Und ja, Boost ist eine frei benutzbare Lib. Sie hat eigentlich zum Ziel, den ISO-Standard zu erweitern. Im nächsten C++ Standard werden z.B. die Boost Smartpointer, Boost Regex u.a. Sachen mit reinkommen. Also, es ist schon eine ernst zu nehmendere Lib. Die eigentlich jeder C++ler kennen sollte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079298</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079298</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Sat, 17 Jun 2006 08:18:30 GMT</pubDate></item><item><title><![CDATA[Reply to ProgrammDaten sinnvoll verwalten und speichern... on Sat, 17 Jun 2006 08:26:47 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Aha, und den MP3 decoder programmierst du auch selber? Oder benutzt du dafür eine externe Lib?</p>
</blockquote>
<p>naja, ...nee okok...MCI^^ ....naja und da mir MCI im Moment dermaßen aufen Sack geht warscheinlich bald ... ok du hast gewonnen ... FMOD <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>Artchi schrieb:</p>
<blockquote>
<p>Wie gesagt: Zum lernen natürlich am Anfang was anderes. Aber solltest du dir merken!</p>
<p>Und ja, Boost ist eine frei benutzbare Lib. Sie hat eigentlich zum Ziel, den ISO-Standard zu erweitern. Im nächsten C++ Standard werden z.B. die Boost Smartpointer, Boost Regex u.a. Sachen mit reinkommen. Also, es ist schon eine ernst zu nehmendere Lib. Die eigentlich jeder C++ler kennen sollte.</p>
</blockquote>
<p>Ok, Meister werds mir merken <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="😉"
    /> , danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079303</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079303</guid><dc:creator><![CDATA[Fragender-Wichtig!]]></dc:creator><pubDate>Sat, 17 Jun 2006 08:26:47 GMT</pubDate></item></channel></rss>