<?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[File einbinden]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich arbeite gerdade an einem Programm, das ein Binärfile nach angaben aus einem<br />
Textfile interpretiert.<br />
Nun sollen aber die Textfiles in das Programm eingebunden werden.</p>
<p>d.h Ich sollte später weitere Textfiles hinzufügen können(compelieren?)<br />
ohne das etwas am code geändert werden muss.</p>
<p>Welches Textfile das Programm dann Auswählen muss ist kein Problem solange die<br />
Namen der Textfiles erhalten bleiben.</p>
<p>Danke<br />
Mfg</p>
<p>Reinhard</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/220556/file-einbinden</link><generator>RSS for Node</generator><lastBuildDate>Tue, 06 Oct 2026 18:02:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/220556.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 18 Aug 2008 06:20:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to File einbinden on Mon, 18 Aug 2008 06:20:41 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich arbeite gerdade an einem Programm, das ein Binärfile nach angaben aus einem<br />
Textfile interpretiert.<br />
Nun sollen aber die Textfiles in das Programm eingebunden werden.</p>
<p>d.h Ich sollte später weitere Textfiles hinzufügen können(compelieren?)<br />
ohne das etwas am code geändert werden muss.</p>
<p>Welches Textfile das Programm dann Auswählen muss ist kein Problem solange die<br />
Namen der Textfiles erhalten bleiben.</p>
<p>Danke<br />
Mfg</p>
<p>Reinhard</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566691</guid><dc:creator><![CDATA[l0lsh4rp]]></dc:creator><pubDate>Mon, 18 Aug 2008 06:20:41 GMT</pubDate></item><item><title><![CDATA[Reply to File einbinden on Mon, 18 Aug 2008 12:19:17 GMT]]></title><description><![CDATA[<p>Die Aufgabe ist nicht ganz klar. Präzisiere, was im Binärfile steht und was vom Textfile kommt. Es sind offenbar zwei Files, mit denen du umgehen möchtest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566900</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566900</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Mon, 18 Aug 2008 12:19:17 GMT</pubDate></item><item><title><![CDATA[Reply to File einbinden on Mon, 18 Aug 2008 12:53:31 GMT]]></title><description><![CDATA[<p>Ein kleiner Auszug aus dem Textfile</p>
<blockquote>
<p>char order_id[24] &quot;8BAC0124.000-1&quot;<br />
char rev_id[4] &quot;&quot;<br />
...<br />
ulong rev_nr 0<br />
...</p>
</blockquote>
<p>Aus diesen Angaben lese ich wie ich die Daten aus dem Binärfile handhaben muss.<br />
In diesem Fall eben die ersten 24 Byte ein String, dann wieder 4 Byte ein String. Dies mit verschiedenen Datentypen. (Die Wertangaben werden hierbei völlig ignoriert)<br />
Die Angaben aus dem Binärfile werden dann in ein neues Textfile gespeichert.</p>
<p>Allerdings muss zu jedem Binärfile auch immer ein Textfile übergeben werden.<br />
Das Programm soll nun so gestaltet werden, dass einige dieser fertigen Textfiles in das Programm implementiert werden.<br />
D.h Ich übergebe dem Programm nur das Binärfile, es durchsucht die implementieren Textfiles ob das zu dem Binäfile passende dabei ist.<br />
(Durch die order_id von oben, bzw. den Namen des Textfiles möglich)<br />
Falls ja wird es danach bearbeitet, falls nein wird nach einem externen File<br />
verlangt.</p>
<p>Mein Problem besteht nun darin das ich keine Ahnung habe wie ich die Textfiles implementieren kann,<br />
ohne das durch späteres hinzufügen neuer Files großartige Codeveränderungen vorgenommen werden müssen.</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566919</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566919</guid><dc:creator><![CDATA[l0lsh4rp]]></dc:creator><pubDate>Mon, 18 Aug 2008 12:53:31 GMT</pubDate></item><item><title><![CDATA[Reply to File einbinden on Mon, 18 Aug 2008 12:58:27 GMT]]></title><description><![CDATA[<p>Da anhand einer simplen Binärdatei nicht sinnvoll festgestellt werden kann, was drinsteht (bei Strings kann evtl. nach erlaubten Zeichen gesucht werden etc.), bleibt hier doch eh nur der Weg über die Größe der Datei.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566920</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566920</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Mon, 18 Aug 2008 12:58:27 GMT</pubDate></item><item><title><![CDATA[Reply to File einbinden on Mon, 18 Aug 2008 13:44:45 GMT]]></title><description><![CDATA[<p>Vl. noch zu erwähnen währe das die Binärfiles vin einem Eprom geladen werden<br />
in dem File sind gewisse Grundeinstellungen gespeichert.<br />
Die ersten 24 Byte der Binärdatein sind immer die order_id.<br />
Der Filename des Textfiles besteht aus der order_id und einer Versionsnummer.</p>
<p>An der größe kann nicht erkannt werden um welches Binärfile es sich handelt<br />
da alle entweder 512 oder 528 Byte haben.</p>
<p>Ich könnte natürlich das ganze mittels switch/case machen allerdings würde<br />
dies bei einem neuem Modul(neues Binärfile u. Textfile zum interpretieren)<br />
eine erneute Bearbeitung des Codes bedeuten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566949</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566949</guid><dc:creator><![CDATA[l0lsh4rp]]></dc:creator><pubDate>Mon, 18 Aug 2008 13:44:45 GMT</pubDate></item><item><title><![CDATA[Reply to File einbinden on Mon, 18 Aug 2008 13:53:50 GMT]]></title><description><![CDATA[<p>Also wenn wir davon ausgehen das bei den char-Teilen nur bestimmte Zeichen erlaubt sind (a-zA-Z0-9.,- etc.), dann könntest du leicht die Textdateien alle einlesen und diese parallel durchgehen.</p>
<p>In etwa so (nur so hingeschrieben, kein korrektes C++):</p>
<pre><code class="language-cpp">typedef vector&lt;string&gt; file;
struct scanpos{
  int txt_pos;
  char *bin_pos;  
};

vector&lt; file &gt; files;
vector&lt; scanpos &gt; scan;
char *bin_file;

// ... einlesen ...

// für jede txt-datei
// ... für jede zeile in txt zeile
// ... ... typ auslesen, länge des binären parts auslesen
// ... ... mit bin vergleichen, im erlaubten rahmen?
// ... ... wenn nicht, nächste testen
// ... ... sonst zeiger vorrücken (txt_pos++, bin_pos += length)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1566956</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566956</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Mon, 18 Aug 2008 13:53:50 GMT</pubDate></item><item><title><![CDATA[Reply to File einbinden on Mon, 18 Aug 2008 14:12:47 GMT]]></title><description><![CDATA[<p>hm ich glaube wir reden aneinander vorbei.<br />
Irgendwie spinnt RS gerade bei mir sonst hätte ich mal ein Beispiel file geuppt.</p>
<p>Ich werd mal schaun das ich das hinbekomm dann geht das ganze leichter zu beschreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566973</guid><dc:creator><![CDATA[l0lsh4rp]]></dc:creator><pubDate>Mon, 18 Aug 2008 14:12:47 GMT</pubDate></item><item><title><![CDATA[Reply to File einbinden on Mon, 18 Aug 2008 14:21:14 GMT]]></title><description><![CDATA[<p>Ah, okay.</p>
<p>Du lädst also eine Binärdatei und anhand der ersten beiden Informationen wird bestimmt wie der Rest aussieht (was hier egal ist). Dies steht in diversen Textdateien, die man an sich dann angeben muss, wenn man eine Binärdatei angibt.</p>
<p>Nun hast du aber sagen wir mal die Standard-Beschreibungsdateien schon und willst diese automatisch durchgehen lassen, damit du nicht jedesmal eine Textdatei angeben musst.</p>
<p>In dem Fall wäre es wohl am einfachsten diese als stumpfe Textdatei in einem extra Ordner liegen zu haben. Diese werden bei jeden Laden einer Binärdatei nacheinander durchgegangen und die richtige rausgesucht...</p>
<p>Ist zB 8BAC0124.000-1 das was dann in der Binärdatei an der Stelle der order_id steht? Wenn ja, dann reicht es ja aus der Binärdatei die beiden wichtigen Werte auszulesen und dann von den Textdateien die ersten beiden Zeilen einzulesen und mit dem Wert, umgeben von &quot;&quot; per find zu vergleichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566981</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566981</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Mon, 18 Aug 2008 14:21:14 GMT</pubDate></item><item><title><![CDATA[Reply to File einbinden on Mon, 18 Aug 2008 14:33:47 GMT]]></title><description><![CDATA[<p>[url]<a href="http://rapidshare.com/files/138234465/Daten.zip%5Burl%5D" rel="nofollow">http://rapidshare.com/files/138234465/Daten.zip[url]</a></p>
<p>Ja genau so sollte es glaub ich sein^^</p>
<p>Mein problem dabei ist wie ich mittels der order_id z.B<br />
8BAC0124.000-1 die Textdatei mit dem vollen Namen:8BAC0122.000-1_V0.2.txt<br />
öffnen kann.<br />
Die Versionsnummer des Textfiles und somit der Name kann sich leicht ändern und sollte deshalb nicht im Code sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566993</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566993</guid><dc:creator><![CDATA[l0lsh4rp]]></dc:creator><pubDate>Mon, 18 Aug 2008 14:33:47 GMT</pubDate></item><item><title><![CDATA[Reply to File einbinden on Mon, 18 Aug 2008 23:54:20 GMT]]></title><description><![CDATA[<p>Hi<br />
Du könntest alle Dateien in dem Ordner in eine Liste einspeichern und dann nur die ersten X Zeichen vergleichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1567265</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1567265</guid><dc:creator><![CDATA[Whtthfck*]]></dc:creator><pubDate>Mon, 18 Aug 2008 23:54:20 GMT</pubDate></item><item><title><![CDATA[Reply to File einbinden on Tue, 19 Aug 2008 08:45:40 GMT]]></title><description><![CDATA[<p>Vielen Dank habt mir schon sehr geholfen</p>
<p>Hab jetzt noch eine kleine Frage.<br />
Ich bekomme einen String.<br />
In diesem String steht welches Array verwendet werden muss.</p>
<p>z.B: im String steht xyz<br />
Das Array xyz wird verwendet</p>
<p>ist dies auch irgend wie ohne switch/case abfragen möglich?</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1567373</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1567373</guid><dc:creator><![CDATA[l0lsh4rp]]></dc:creator><pubDate>Tue, 19 Aug 2008 08:45:40 GMT</pubDate></item><item><title><![CDATA[Reply to File einbinden on Tue, 19 Aug 2008 09:16:11 GMT]]></title><description><![CDATA[<p>Wenn die Möglichkeiten feststehen, kannst du dies über eine map regeln. Key wäre der String und der Wert ein Pointer auf das jeweilige Array.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1567402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1567402</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Tue, 19 Aug 2008 09:16:11 GMT</pubDate></item><item><title><![CDATA[Reply to File einbinden on Tue, 19 Aug 2008 09:19:42 GMT]]></title><description><![CDATA[<p>hört sich gut an<br />
Kannst mir nen link oder so geben wo das mit der map erklärt wird.<br />
Hab noch nie was davon gehörht^^</p>
<p>danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1567405</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1567405</guid><dc:creator><![CDATA[l0lsh4rp]]></dc:creator><pubDate>Tue, 19 Aug 2008 09:19:42 GMT</pubDate></item><item><title><![CDATA[Reply to File einbinden on Tue, 19 Aug 2008 09:32:13 GMT]]></title><description><![CDATA[<p><a href="http://www.cppreference.com/cppmap/index.html" rel="nofollow">http://www.cppreference.com/cppmap/index.html</a></p>
<p>Läßt sich im Grunde wie jeder andere Container auch verwenden.</p>
<p>edit: zB:</p>
<pre><code class="language-cpp">#include &lt;map&gt;
#include &lt;string&gt;

// ...

std::map&lt; std::string, int* &gt; myMap;
myMap[&quot;abc&quot;] = array1;
myMap[&quot;bcd&quot;] = array2;

// ...

if (myMap[eingelesenerString]){
  int* jetzigerArray = myMap[eingelesenerString];
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1567413</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1567413</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Tue, 19 Aug 2008 09:32:13 GMT</pubDate></item><item><title><![CDATA[Reply to File einbinden on Thu, 21 Aug 2008 08:49:00 GMT]]></title><description><![CDATA[<p>Ist es möglich alle Files aus einem Ordner zu includen? ohne die einzelnen Filename zu wissen.<br />
Ich habe in einem Includefile eine char array dessen Name mir nur durch den Inhalt eines Strings bekannt ist,<br />
kann ich irgend wie auf das array zugreifen?</p>
<p>Man hat in einem Ordner verschiedene Textfiles z.B:</p>
<p>test001_V1.3<br />
test002_V0.3<br />
...</p>
<p>In meine Programm erhalte ich einen String test001.<br />
Ist es irgend wie möglich ohne den vollen Filenamen zu wissen es zu öffnen?<br />
bzw. eine Art Wildecard suche durchzuführen?</p>
<p>MFG und Vielen Dank</p>
<p>Reinhard</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1568714</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1568714</guid><dc:creator><![CDATA[l0lsh4rp]]></dc:creator><pubDate>Thu, 21 Aug 2008 08:49:00 GMT</pubDate></item></channel></rss>