Teile einer Zeile einer .txt Datei lesen und in eine ROM schreiben
-
Hay, ich bin neu hier und hab gehofft, dass ich hier Hilfe finden würde;
weder ein sinnvolles Tutorial noch irgendwelche befehle, die mir dabei helfen, konnte ich finden.
Mein Ziel ist es, eine halbe Zeile auszulesen, danach ein Leerzeichen auszulassen, um danach die andere hälfte zu lesen und 2 "0"en anzuschließen. Das Problem dabei ist, dass ich mit meinem Wissen nur ganze Zeilen auslesen kann.
Nachdem ich bis zum Dateiende gelesen hab, sollte die ganze Eingabe in eine ROM an eine bestimmte Stelle geschrieben werden. Hier hab ich nichts gefunden.
Ihr würdet mir echt helfen, weil ich seit etwa 2 stunde versuche, irgendeinen Befehl zu finden, mit dem ich nur ne halbe Zeile auslesen kann :s
-
Was meinst du mit halbe Zeile? Ist das so gemeint, dass die Zeilen aus zwei Teilen besteht, die durch ein Leerzeichen getrennt sind?
-
TNA schrieb:
Was meinst du mit halbe Zeile? Ist das so gemeint, dass die Zeilen aus zwei Teilen besteht, die durch ein Leerzeichen getrennt sind?
jede Zeile besteht aus 8 Zahlen, einem Leerzeichen und danach nochmal 4 Zahlen. "halbe Zeile" war wohl schlecht ausgedrückt; ich meinte allgemein einen Teil einer Zeile
-
Kazeshin schrieb:
jede Zeile besteht aus 8 Zahlen, einem Leerzeichen und danach nochmal 4 Zahlen. "halbe Zeile" war wohl schlecht ausgedrückt; ich meinte allgemein einen Teil einer Zeile
Ich glaube, du kennst den Unterschied zwischen Zahl und Ziffer nicht. Ich denke du meinst Ziffer und nicht Zahlen.
vector<pair<string,string>> daten; ifstream file("test.txt") for(string s1,s2; file>>s1>>s2; daten.push_back(make_pair(s1,s2)) ); // fertig
-
Du willst eine Zeile einlesen, das Leerzeichen entfernen und dann noch was an die Zeile anhängen. Verstehe ich das richtig?
-
Ich habs so verstenden:
Ziffernfolge Leerzeichen Ziffernfolge// So sieht jede Zeile aus?
-
TNA schrieb:
Du willst eine Zeile einlesen, das Leerzeichen entfernen und dann noch was an die Zeile anhängen. Verstehe ich das richtig?
Ja.
Wobei mir da grade einfällt, dass die Zahlen alle im Hexadezimalen system geschrieben sind, sodass ich da vielleicht auch irgendwas besonderes brauche, damit a,b,c,d,e und f nicht als ascii gespeichert werden, sondern als hexadezimal. (sofern das überhaupt geht)out schrieb:
Ich habs so verstenden:
Ziffernfolge Leerzeichen Ziffernfolge// So sieht jede Zeile aus?Die Zeilen sehen z.b. so aus:
D033AFA1 0020
8133B1BC 4220
D033B1BD 0020
8133B17C 0300
D033B1BD 0020
8133B17E 0880
-
out schrieb:
Ich habs so verstenden:
Ziffernfolge Leerzeichen Ziffernfolge// So sieht jede Zeile aus?Prinzipiell habe ich es auch so verstanden, aber er will das ja noch irgendwie wegschreiben. Den Teil verstehe ich noch nicht.
-
Kopier ein paar Zeilen deiner Datei hier rein sonst reden wir in 2h noch über den Dateiaufbau.

-
Kazeshin schrieb:
Die Zeilen sehen z.b. so aus:
D033AFA1 0020
8133B1BC 4220
D033B1BD 0020
8133B17C 0300
D033B1BD 0020
8133B17E 0880OK, und was soll da nachher genau rauskommen, bzw was willst du damit genau machen?
-
TNA schrieb:
Kazeshin schrieb:
Die Zeilen sehen z.b. so aus:
D033AFA1 0020
8133B1BC 4220
D033B1BD 0020
8133B17C 0300
D033B1BD 0020
8133B17E 0880OK, und was soll da nachher genau rauskommen, bzw was willst du damit genau machen?
es soll in eine ROM an einer bestimmten stelle eingefügt werden. vorher sollte es zu
D033AFA10020008133B1BC422000D033B1BD0020008133B17C030000D033B1BD0020008133B17E088000
umgeschrieben werden.
-
#include <iostream> #include <fstream> #include<string> using namespace std; int main() { ifstream file( "test.txt" ); string data; for(string s1,s2; file>>s1>>s2; data+=s1+s2+"00"); cout << data; }
-
Das hört sich so an, als solle das in ein Binärformat umgewandelt werden. Also z.B. die erste Zahl in ein tU32 und die zweite in ein tU16. Wie genau willst du das nachher in das ROM schreiben?
-
TNA schrieb:
Das hört sich so an, als solle das in ein Binärformat umgewandelt werden. Also z.B. die erste Zahl in ein tU32 und die zweite in ein tU16. Wie genau willst du das nachher in das ROM schreiben?
Wie sich mit Zahlen herumschlagen? Einfach 2 Strings nehmen und verknüpfen.
-
out schrieb:
Wie sich mit Zahlen herumschlagen? Einfach 2 Strings nehmen und verknüpfen.
Ich fürchte er will nicht wirklich einen String schreiben sondern Bytes deren Werte durch Hexadezimalzahlen repräsentiert werden.
-
TNA schrieb:
Das hört sich so an, als solle das in ein Binärformat umgewandelt werden. Also z.B. die erste Zahl in ein tU32 und die zweite in ein tU16. Wie genau willst du das nachher in das ROM schreiben?
Binär klingt richtig^^ nicht als ascii string, das wäre fatal^^
Btw: der code, den "out" geschrieben hat, hat zumindest schonmal die richtigen Ziffern ausgegeben.
-
Kazeshin schrieb:
Binär klingt richtig^^ nicht als ascii string, das wäre fatal^^
Wie genau schreibst du die Sachen denn ins ROM? Hast du dafür eine spezielle Funktion? Wenn ja, zeig mal die Signatur.
-
TNA schrieb:
Kazeshin schrieb:
Binär klingt richtig^^ nicht als ascii string, das wäre fatal^^
Wie genau schreibst du die Sachen denn ins ROM? Hast du dafür eine spezielle Funktion? Wenn ja, zeig mal die Signatur.
Das ist mein Problem. Ich weiß nicht, wie das geht.
-
OK, mal ganz anders gefragt:
Was willst du mit diesen Zahlen im ROM erreichen?
-
Kazeshin schrieb:
Das ist mein Problem. Ich weiß nicht, wie das geht.
Das solltest du irgendwie herausfinden. Hier kann leider niemand hellsehen und solange selbst du nicht weißt, was du genau machen möchtest, wird dir daher leider keiner helfen können.