Textdatei zeilenweise einlesen
-
Hi,
ich hätte da mal ne Frage: Wie kann man eine Textdatei zeilenweise einlesen? Die Leerzeichen dienen als Trennzeichen und nur die ersten beiden Spalten sollen eingelesen werden.
Wenn mir da jemand helfen könnte wäre ich echt dankbar.MfG
michiwinni
-
Ich helfe Dir, indem ich Dich auf die Suchfunktion verweise.
-
ach ja, die guten alten Standard C++Funktonen...
kennst du streams? Nein? Wunderbar.
Also, man nehme folgendes kommentierte Beispiel:
#include<iostream> #include<string> #include<iostream> //Include für Standard Streams using namespace std; //Namespace halt int main(int agrc, char *argv) { string Str[2]; //stringArray mit 2 Feldern ifstream lesen=open("Datei.txt"); //öffnet Datei lesen>>Str[0]>>Str[1]; /*schreibt in Str[0] bis erstes Leerzeichen, in Str[1] bis 2. Leerzeichen*/ cout<<Str[0]<<"\n"<<Str[1]; //gibt beide Strings aus getchar(); /*Damit man das auch lesen kann und sich nicht wundert, warum das Fenster geschlossen wird...*/ return 0; //fehlerfrei beendet }
-
Das funktioniert natürlich wie man es auch von Spieleprogrammierer gewohnt ist nicht mal noch als link
http://www.c-plusplus.net/forum/viewtopic.php?t=35985&highlight=fopen
so würde auch das von spieleprogrammierer funken
#include<iostream> #include<string> #include<fstream> //Include für Standard Streams using namespace std; //Namespace halt int main(int agrc, char *argv) { string Str[2]; //stringArray mit 2 Feldern ifstream lesen; //in-file-stream lesen.open("Datei.txt"); //öffnet Datei lesen>>Str[0]>>Str[1]; /*schreibt in Str[0] bis erstes Leerzeichen, in Str[1] bis 2. Leerzeichen*/ cout<<Str[0]<<"\n"<<Str[1]; //gibt beide Strings aus getchar(); /*Damit man das auch lesen kann und sich nicht wundert, warum das Fenster geschlossen wird...*/ return 0; //fehlerfrei beendet }
p.s ich hab mir nich die mühe gemacht die schwulen kommentare wegzumachen
-
1ntrud0r schrieb:
Das funktioniert natürlich wie man es auch von Spieleprogrammierer gewohnt ist nicht
Ach, wieso nicht? War's vielleicht ofstream? -ich verwechsel's immerwieder, und das hier will ich überlesen haben.
-
entweder mit der Klasse TStringList vom BCB
oder mit standard C funktionen und Streams
(such nach fopen oder streams)
-
Spieleprogrammierer schrieb:
Ach, wieso nicht? War's vielleicht ofstream? -ich verwechsel's immerwieder, und das hier will ich überlesen haben.
du brauchst es nicht überlesen ... du solltest es noch 2 mal durchlesen
-
Hi,
also am einfachsten mit TStringList!TStringList *temp = new TStringList(); temp->LoadFromFile("balbalabl.txt"); // Dateiinhalt zeilenweisen in temp->Strings[x] // wobei x die Zeilen darstellt (1. Zeile - x==0) //WICHTIG am ENDE: delete temp; // THX @ Jansen
MFG
Alexander Sulfrian
-
Wenn schon, dann delete temp;
Ausserdem geht's hier nicht nur um das Laden der Datei.Allerdings wäre es ja erstmal interessant, zu erfahren, wie michiwinni sich das Ergebnis vorstellt, also in welchem Format die Daten am Ende vorliegen sollen bzw. was er damit machen will.