<?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[? Indexsequentielle Dateien mit C++]]></title><description><![CDATA[<p>Wie kann erreicht werden, in eine 'C++ - eigene' Datei zu schreiben mit beispielsweise Rechnungsdaten: Rechnungsnr; Kundennr; RgDatum usw., eine Fehlermeldung zu erhalten, wenn die gleiche Rechnungsnr erneut gespeichert werden würde.</p>
<p>Gibt es mit C++ die Möglichkeit Indexsequentielle Dateien zu schreiben wie beispielsweise in COBOL, wo es .dat und .idx Dateien gibt. (Was steht eigentlich in der IDX-Datei?).</p>
<p>Oder muss jedesmal die Datei erst nach der Rechnungsnr durchsucht werden, wenn nicht vorhanden - speichern ?</p>
<p>Welche 'stream-Function' sollte verwendet werden für solch eine Aufgabe (Der Inhalt der Datei sollte nicht mit einfachen Editoren zu lesen sein) ?</p>
<p>Vielen Dank<br />
Gruß<br />
Fanker</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/216652/indexsequentielle-dateien-mit-c</link><generator>RSS for Node</generator><lastBuildDate>Sun, 11 Oct 2026 07:01:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/216652.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 26 Jun 2008 13:42:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ? Indexsequentielle Dateien mit C++ on Thu, 26 Jun 2008 13:42:15 GMT]]></title><description><![CDATA[<p>Wie kann erreicht werden, in eine 'C++ - eigene' Datei zu schreiben mit beispielsweise Rechnungsdaten: Rechnungsnr; Kundennr; RgDatum usw., eine Fehlermeldung zu erhalten, wenn die gleiche Rechnungsnr erneut gespeichert werden würde.</p>
<p>Gibt es mit C++ die Möglichkeit Indexsequentielle Dateien zu schreiben wie beispielsweise in COBOL, wo es .dat und .idx Dateien gibt. (Was steht eigentlich in der IDX-Datei?).</p>
<p>Oder muss jedesmal die Datei erst nach der Rechnungsnr durchsucht werden, wenn nicht vorhanden - speichern ?</p>
<p>Welche 'stream-Function' sollte verwendet werden für solch eine Aufgabe (Der Inhalt der Datei sollte nicht mit einfachen Editoren zu lesen sein) ?</p>
<p>Vielen Dank<br />
Gruß<br />
Fanker</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1536375</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1536375</guid><dc:creator><![CDATA[Fanker]]></dc:creator><pubDate>Thu, 26 Jun 2008 13:42:15 GMT</pubDate></item><item><title><![CDATA[Reply to ? Indexsequentielle Dateien mit C++ on Thu, 26 Jun 2008 14:01:31 GMT]]></title><description><![CDATA[<p>In C++ basiert die Dateiarbeit auf dem Stream-Konzept, d.h. eine Datei ist einfach nur ein Strom von Zeichen. Strukturierte Dateiformen, die es in anderen Programmiersprachen geben mag, kennt C++ nicht. Wenn du sowas brauchst, musst du es entweder selbst auf Basis von Strömen implementieren oder dir eine Bibliothek suchen, die das kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1536390</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1536390</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Thu, 26 Jun 2008 14:01:31 GMT</pubDate></item><item><title><![CDATA[Reply to ? Indexsequentielle Dateien mit C++ on Thu, 26 Jun 2008 14:03:01 GMT]]></title><description><![CDATA[<p>Fanker schrieb:</p>
<blockquote>
<p>Welche 'stream-Function' sollte verwendet werden für solch eine Aufgabe (Der Inhalt der Datei sollte nicht mit einfachen Editoren zu lesen sein) ?</p>
</blockquote>
<p>Die Standardbibliothek bietet sowas wohl kaum an. Wenn du den Inhalt geheim halten möchtest, rate ich dir zu Verschlüsselungsalgorithmen.</p>
<p>Wozu benötigst du denn das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1536393</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1536393</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 26 Jun 2008 14:03:01 GMT</pubDate></item><item><title><![CDATA[Reply to ? Indexsequentielle Dateien mit C++ on Thu, 26 Jun 2008 18:29:24 GMT]]></title><description><![CDATA[<p>In der IDX-Datei steht der Primärschlüssel und ein Index, ggf. die Länge des Datensatzes.</p>
<p>heißt also so ungefähr</p>
<p>struct sIDX{<br />
char key[32];<br />
int index;<br />
int length;<br />
};</p>
<p>Diese Einträge müssen alphabetisch sortiert sein.</p>
<p>Man liest diese Datei aus und weiß natürlich, wo die andere Datei ist..<br />
Wenn man jetzt einen Eintrag sucht, kann man in den indizen suchen und lädt dann nur noch den gefundenen Datensatz aus der eigentlichen Datei.</p>
<p>Das Ganze lohnt sich natürlich erst ab Datensatzlängen, die größer sind als der eigentliche Index. Es dient dazu, RAM zu sparen, weil man nicht die komplette Datei auslesen muss. Heutzutage ist es allerdings nur noch selten überhaupt notwendig- immerhin kost das KB RAM keine tausende Taler mehr..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1536577</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1536577</guid><dc:creator><![CDATA[DocJunioR]]></dc:creator><pubDate>Thu, 26 Jun 2008 18:29:24 GMT</pubDate></item><item><title><![CDATA[Reply to ? Indexsequentielle Dateien mit C++ on Thu, 26 Jun 2008 19:26:01 GMT]]></title><description><![CDATA[<p>Bashar schrieb:</p>
<blockquote>
<p>Wenn du sowas brauchst, musst du es entweder selbst auf Basis von Strömen implementieren..</p>
</blockquote>
<p>Das möchte ich gern, aber wie?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1536608</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1536608</guid><dc:creator><![CDATA[Fanker]]></dc:creator><pubDate>Thu, 26 Jun 2008 19:26:01 GMT</pubDate></item><item><title><![CDATA[Reply to ? Indexsequentielle Dateien mit C++ on Thu, 26 Jun 2008 19:28:33 GMT]]></title><description><![CDATA[<p>[quote=&quot;Nexus&quot;]</p>
<p>Fanker schrieb:</p>
<blockquote>
<p>Wozu benötigst du denn das?</p>
</blockquote>
<p>Datei zu schreiben mit beispielsweise Rechnungsdaten: Rechnungsnr; Kundennr; RgDatum usw., eine Fehlermeldung zu erhalten, wenn die gleiche Rechnungsnr erneut gespeichert werden würde</p>
<p>Für ein Rechnungs/Inkasso-Programm, welches ich selbst entwickeln möchte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1536609</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1536609</guid><dc:creator><![CDATA[Fanker]]></dc:creator><pubDate>Thu, 26 Jun 2008 19:28:33 GMT</pubDate></item><item><title><![CDATA[Reply to ? Indexsequentielle Dateien mit C++ on Thu, 26 Jun 2008 20:04:38 GMT]]></title><description><![CDATA[<p>Vielen Dank für die gute Erklärung.</p>
<p>DocJunioR schrieb:</p>
<blockquote>
<p>..Das Ganze lohnt sich natürlich erst ab Datensatzlängen, die größer sind als der eigentliche Index. Es dient dazu, RAM zu sparen, weil man nicht die komplette Datei auslesen muss. Heutzutage ist es allerdings nur noch selten überhaupt notwendig- immerhin kost das KB RAM keine tausende Taler mehr..</p>
</blockquote>
<p>Es ist/wird immer mehr erforderlich die Bewegungsdaten für längere Zeiträume zu speichern. Außerddem ist es doch uneffektiv 'jedesmal' die komplette Datei einzulesen (X-MB). - Und - Es ist doch auf lange Sicht besser unabhängig von 'externen' zu sein, auch wenn der Anfang etwas aufwendiger ist.</p>
<p>Die Datensätze die ich plane bestehen aus bis zu 35 'Felder' davon sind 3 oder mehr Felder zusammen ein Index (der PrimSchlüssel).</p>
<p>So etwas muss doch, gerade über C++, realisierbar sein - oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1536629</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1536629</guid><dc:creator><![CDATA[Fanker]]></dc:creator><pubDate>Thu, 26 Jun 2008 20:04:38 GMT</pubDate></item><item><title><![CDATA[Reply to ? Indexsequentielle Dateien mit C++ on Fri, 27 Jun 2008 06:45:38 GMT]]></title><description><![CDATA[<p>Fanker schrieb:</p>
<blockquote>
<p>...<br />
Datei zu schreiben mit beispielsweise Rechnungsdaten: Rechnungsnr; Kundennr; RgDatum usw., eine Fehlermeldung zu erhalten, wenn die gleiche Rechnungsnr erneut gespeichert werden würde</p>
<p>Für ein Rechnungs/Inkasso-Programm, welches ich selbst entwickeln möchte.</p>
</blockquote>
<p>Also das klingt schwer danach, als ob Dir mit einer Datenbank besser geholfen wäre. Da gibt's ja auch auf dem freeware-Markt so einiges (MySQL, ...).</p>
<p>Sonst sitzt Du ewig an Deiner selbstgefrickelten Lösung, verplemperst wertvolle Zeit und bist nie wirklich zufrieden.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1536732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1536732</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Fri, 27 Jun 2008 06:45:38 GMT</pubDate></item><item><title><![CDATA[Reply to ? Indexsequentielle Dateien mit C++ on Fri, 27 Jun 2008 17:33:46 GMT]]></title><description><![CDATA[<p>Was für Funktionen außer stream's gibt es noch, um mit C++ Daten in Dateien zu speichern?</p>
<pre><code>struct RgBewegung
{
   int RgDatum;           // zusammen mit
   long RgNummer;         // RgNummer und
   int KundenNummer;      // KuNr eindeutiger 'Schlüssel'
   float Menge;
   ...
   float EinzelPreis;
   ...
   int KenzGeloescht;
   usw.
};
</code></pre>
<p>Es ist eigentlich nicht notwendig Datenzeilen zu löschen, ein Lösch-Kennzeichen wird gesetzt und der Satz gilt als gelöscht. &gt;falls dies möglich ist.<br />
Somit kann jeder neue Satz hinten angehängt werden. (Festplattenspeicher ist ja auch kein Problem mehr)</p>
<p>Sollte eine andere Sortierung benötigt werden, Daten auslesen und in eine Tmp-Datei schreiben. &gt;so denke ich es mir <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>Welche vorgehensweise wäre angebracht, wenn verhindern werden soll, dass ein Datensatz mit dem gleichen 'Schlüssel' ein zweites Mal gespeichert wird?</p>
<p>Was für Funktionen außer stream's gibt es noch?</p>
<p>Vielen Dank<br />
Fanker</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1537115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1537115</guid><dc:creator><![CDATA[Fanker]]></dc:creator><pubDate>Fri, 27 Jun 2008 17:33:46 GMT</pubDate></item><item><title><![CDATA[Reply to ? Indexsequentielle Dateien mit C++ on Fri, 27 Jun 2008 22:28:54 GMT]]></title><description><![CDATA[<p>Keine, sonst hätt ich dir das schon gesagt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1537253</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1537253</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Fri, 27 Jun 2008 22:28:54 GMT</pubDate></item></channel></rss>