Textdatei erste Zeile auslesen
-
Kann mir jemand helfen die Daten aus einer Textdatei auszulesen.
Aber nur die Erste Zeile..
Die Daten in einer Textdatei sehen so aus:
SP 1
SP 2
..Ich habe schon versucht
Bei diesen Quelltext habe ich das Problem das er alle Daten ausliest und sie zb. in einem Memo so darhstellt
S
P
1
...Bei dem zweiten Coder liest er leider nur das erste Zeichen.
Hmm könnte mir jemand behilglich sein das so zu machen das er nur die erste Zeile liest
Code 1
char b; fstream i("C:\\auswahl.txt", ios::in); i>>b; while (i) { Memo1->Lines->Add(b); i>>b; }
Code 2
char b; fstream i("C:\\auswahl.txt", ios::in); i.read((char*)&b,sizeof(char)); Edit1->Text=b
-
Nimm doch TStringList:
// Neues Objekt der Klasse "TStringList" erstellen TStringList* slTest=new TStringList; // Textdatei einlesen slTest->LoadFromFile("C:\\Pfad\\Datei.txt"); // Erste Zeile in Edit-Feld einlesen Edit1->Text=slTest->Strings[0]; // Wichtig! Objekte müssen grundsätzlich wieder gelöscht werden, damit der Speicher wieder frei wird. delete slTest;
-
hmmm ich verushc es danke aber ich komme mit tstringlist schonmal garnicht klar ...........
-
HMMM HILF MIR MAL BITTE
ICH HABE DAS JA VERSUCHT
LEIDER BEKOMME ICH DIE MELDUNG DAS ER DIE DATEI NICHT ÖFFNEN KANN
-
Etwas abgewandelt:
Code 1std::string b; ifstream i("C:\\auswahl.txt"); i >> b; Memo1->Lines->Add(b.c_str());
oder
char *b = new char[21]; ifstream i("C:\\auswahl.txt"); i.getline(b,20); b[20] = '\0'; Memo1->Lines->Add(b.c_str()); delete[] b;
PS. Wenn du die Datei nicht öffnen kannst liegt das nicht am Code sondern am Pfad. Schau doch mal genau nach ob deine Datei dort wirklich ist.
Funktionieren müssten alle dir bereits gezeigten Variante.
Achso, bitte schrei hier nicht rum.
-
Tut mir leid ich wollte nicht schreien
ich habe vergessen mein finger von der Shift-Taste louszulasen
hmm eigenlich ist der Pfad richtig
ach ist es jezt eigentlich egal was ich bentze oder haben die Stringlisten ein Vorteil denn die erste Zeile nach dem neustrart muss dann später gelöscht werden.
-
knaxen1 schrieb:
ich habe vergessen mein finger von der Shift-Taste louszulasen
lol, erste Anzeichen für Alzheimer?
hmm eigenlich ist der Pfad richtig
Hast du die Pfade auch mit Doppeltem Backslash ('\') geschrieben? HZast du auch Zugriffsrechte auf die Datei?
Und: Wenn du die erste Zeile löschen willst, musst du noch das hier machen:
// Löscht erste Zeile slTest->Delete(0); // Speichert Datei wieder ab slTest->SaveToFile("C:\\Pfad\\Datei.txt"); // Das vorherige delete wieder löschen, und hier einfügen: delete slTest;
-
Hmm ein großen Dank an dich für deine Hilfe.
Das mit Pfad eigetlich alle richtig.
Ich weiß nicht wo der Fehler liegt.
Ist es möglich dir da zu senden und kuckst das nach. ???
Denn ich bin am verzweifeln.
-
Hmm danke hat sich schon erledigt habe den Fehler schon selber gefunden.
Hmm kann st du mir nochmal helfen bitteund zwar will ich die erste Zeile die ich eingelesen habe verleichen mit einer if Bedinung func aber nicht richtig
if (auswahl->Strings[0] == "SP1");
....
Dtei starten und so ..aber verleicht es leider nicht
er startet die Datei trozdem