<?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[&amp;quot;sicherheitsysteme&amp;quot; für &amp;quot;fileloading&amp;quot; in template-klasse]]></title><description><![CDATA[<p>hi!<br />
ich will mir eine template-klasse schreiben, die ein array vom typ T in eine datei <a href="http://schreibt.in" rel="nofollow">schreibt.in</a> der klasse ist auch die dazugehörige loadfromfile() methode implementiert, allerdings muss der benutzer darauf achten, dass er beim laden den gleichen typ T verwendet wie beim speichern.<br />
wenn er zb ein template-klasse&lt;float&gt;::array in eine datei speichert, muss er natürlich beim laden dieser datei wieder ein template-klasse&lt;float&gt;::array laden, andernfals ist das ergebnis ziemlich wahrscheinlich fehlerhaft.<br />
fallen euch irgendwelche &quot;sicherheitsysteme&quot; ein, die beim fehlerhaften laden (laden mit anderem typ)zumindest eine fehlermeldung ausgeben?<br />
sollte man sowas generell vermeiden und sich eine andere lösung ausdenken?<br />
ich hoffe ihr könnt mir weiterhelfen <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/topic/159114/quot-sicherheitsysteme-quot-für-quot-fileloading-quot-in-template-klasse</link><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 09:46:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/159114.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 12 Sep 2006 09:09:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to &amp;quot;sicherheitsysteme&amp;quot; für &amp;quot;fileloading&amp;quot; in template-klasse on Tue, 12 Sep 2006 09:09:41 GMT]]></title><description><![CDATA[<p>hi!<br />
ich will mir eine template-klasse schreiben, die ein array vom typ T in eine datei <a href="http://schreibt.in" rel="nofollow">schreibt.in</a> der klasse ist auch die dazugehörige loadfromfile() methode implementiert, allerdings muss der benutzer darauf achten, dass er beim laden den gleichen typ T verwendet wie beim speichern.<br />
wenn er zb ein template-klasse&lt;float&gt;::array in eine datei speichert, muss er natürlich beim laden dieser datei wieder ein template-klasse&lt;float&gt;::array laden, andernfals ist das ergebnis ziemlich wahrscheinlich fehlerhaft.<br />
fallen euch irgendwelche &quot;sicherheitsysteme&quot; ein, die beim fehlerhaften laden (laden mit anderem typ)zumindest eine fehlermeldung ausgeben?<br />
sollte man sowas generell vermeiden und sich eine andere lösung ausdenken?<br />
ich hoffe ihr könnt mir weiterhelfen <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/1135664</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1135664</guid><dc:creator><![CDATA[krabbels]]></dc:creator><pubDate>Tue, 12 Sep 2006 09:09:41 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;sicherheitsysteme&amp;quot; für &amp;quot;fileloading&amp;quot; in template-klasse on Tue, 12 Sep 2006 09:42:17 GMT]]></title><description><![CDATA[<p>hi,<br />
eine idee in die richtung, die ich selbst verwende, ist das Speichern und Laden über ein und die selbe Funktion zu machen.</p>
<p>Beispiel:</p>
<pre><code class="language-cpp">// Eine Beispiel-Klasse die gespeichert bzw geladen werden soll. 
// Die Funktion serialize wird dann entspeichend aufgerufen
class Daten
{
   void serialize(Serializer* s)
   {
      s-&gt;process(wert);
   }

 float wert;
};

// Hier sind die Serializer.
struct Serializer
{
   virtual void process(float f) = 0;
};

struct SerLoader : public Serializer
{
   void process(float f)
   {
      // Lade irgendwo
   }
};

struct SerSaver : public Serializer
{
   void process(float f)
   {
      // Speichere irgendwo
   }
};
</code></pre>
<p>Hoffentlich ist es verständlicher.</p>
<p>Ich habe mal nach dem Ansatz ein Framework geschrieben. Wenn es jemand will, kann ich es hier posten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1135700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1135700</guid><dc:creator><![CDATA[deformator]]></dc:creator><pubDate>Tue, 12 Sep 2006 09:42:17 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;sicherheitsysteme&amp;quot; für &amp;quot;fileloading&amp;quot; in template-klasse on Tue, 12 Sep 2006 09:46:00 GMT]]></title><description><![CDATA[<p>Ich habe noch vergessen zu sagen, wie du es verwenden kannst.</p>
<pre><code class="language-cpp">Daten d;
   // irgendwie irgendwo werden die Daten gesetzt.
   SerSaver saver;
   saver.setFile(&quot;c:\\meine.datei&quot;); // Natürlich musst du die Funktion selbst implementieren. Ist aber nicht das Problem
   d.serialize(&amp;saver);   

   SerLoader loader;
   loader.setFile(&quot;c:\\meine.datei&quot;);
   d.serialize(loader);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1135704</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1135704</guid><dc:creator><![CDATA[deformator]]></dc:creator><pubDate>Tue, 12 Sep 2006 09:46:00 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;sicherheitsysteme&amp;quot; für &amp;quot;fileloading&amp;quot; in template-klasse on Tue, 12 Sep 2006 09:47:14 GMT]]></title><description><![CDATA[<p>Wenn du nu7r die Array-Daten schreibst, gehen die Typ-Informationen unterwegs verloren (die Datei ist nur eine Ansammlung an Bytes - was das Programm dort sieht, interessiert das Betriebssystem nicht), also müsstest du am Anfang der Datei deinen Datentyp schreiben und beim Lesen vergleichen, z.B. über die typeinfo-Struktur.</p>
<p>(wenn du nur eine begranzte Anzahl an eigenen Datentypen verwalten willst, kannst du denen auch eine Kennung als static Member verpassen)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1135706</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1135706</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 12 Sep 2006 09:47:14 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;sicherheitsysteme&amp;quot; für &amp;quot;fileloading&amp;quot; in template-klasse on Tue, 12 Sep 2006 09:52:18 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>(wenn du nur eine begranzte Anzahl an eigenen Datentypen verwalten willst, kannst du denen auch eine Kennung als static Member verpassen)</p>
</blockquote>
<p>Mit C++ kannst du das viel besser erreichen. Ohne irgendwelche Kennungen. Man muss nur eine Funktion schreiben, die nach entsprechendem Datentyp überladen ist, sowie z.B. die &lt;&lt; bzw. &gt;&gt; für die Stream-Verarbeitung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1135711</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1135711</guid><dc:creator><![CDATA[deformator]]></dc:creator><pubDate>Tue, 12 Sep 2006 09:52:18 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;sicherheitsysteme&amp;quot; für &amp;quot;fileloading&amp;quot; in template-klasse on Tue, 12 Sep 2006 15:45:06 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich befürchte, das Problem liegt in der &quot;Typunsicherheit von Dateien&quot;. Wann immer Du etwas in eine Datei schreibst, kann niemand verhindern, dass jemand dieses Etwas als etwas Anderes rausliest.<br />
Wenn Du über diese Strecke Sicherheit haben willst, musst Du ein &quot;speicherbares Typkonzept überlegen&quot;.<br />
Das kann sein:<br />
- simple &quot;Längenüberprüfung beim Laden&quot; oder<br />
- Typkennzeichner mitspeichern und -lesen (was auch keine Konsistenz &quot;erzwingt&quot;, aber Fehlererkennung vereinfacht) oder<br />
- eine typsichere Datenbank zur Ablage verwenden.</p>
<p>Wäre übrigens in jeder Sprache dasselbe.</p>
<p>Gruß,</p>
<p>Simon2.</p>
<p>NACHTRAG: Für die &quot;Typkennzeichner-Variante&quot; sollte man ein &quot;allgemeines&quot; Format wie XML in Erwägung ziehen. Die können oft sehr viel und die Einbindung ist oftmals doch viel kürzer als wenn man sich selbst was bastelt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1135854</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1135854</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Tue, 12 Sep 2006 15:45:06 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;sicherheitsysteme&amp;quot; für &amp;quot;fileloading&amp;quot; in template-klasse on Tue, 12 Sep 2006 15:18:10 GMT]]></title><description><![CDATA[<p>danke für die antworten, haben mir sehr geholfen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1135982</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1135982</guid><dc:creator><![CDATA[krabbels]]></dc:creator><pubDate>Tue, 12 Sep 2006 15:18:10 GMT</pubDate></item></channel></rss>