Zum Inhalt springen

[C++] Problem: Datei einlesen


MrKrasserAlsDu

Empfohlene Beiträge

ich habe folgende name.txt

name1 vorname1 

name2 vorname2
diese will ich jetzt auslesen mit
void laden_db()

	{

		Adresse db[ANZ];


		std::string name;

		std::string vorname;

		std::ifstream fin("name.txt");

		for (int i=0;i<ANZ;i++)

		{



				getline (fin, name, " ");

				getline (fin, vorname, " ");

				knd[i].set_name(name);

				knd[i].set_vorname(vorname);

			}

}

aber irgendwie funktioniert das nicht, habe schon soviele versionen probiert...die schleife verändert, mit get.eof() gearbeitet, aber ich schaffs nicht

helft mir, thx

Link zu diesem Kommentar
Auf anderen Seiten teilen

hast du vielleicht einfach

fin.open(); 

nach der Konstruktion des ifstream-Objektes vergessen?

Zu welchem Zweck? Der Konstruktor öffnet die Datei sowieso schon, da wird open gar nicht mehr benötigt. Wenn du Daten einfach nur einlesen willst, mach es doch so:

#include <iostream>
#include <fstream>
#include <string>
#include <vector>

using namepsace std;

int main()
{
vector<string> dateiinhalt;

ifstream fin("deinedatei.txt");
for(string line; getline(fin, line); )
{
dateiinhalt.push_back(line);
}
//Zugriff wie auf ein normales Array
for(size_t i = 0; i<dateiinhalt.size(); ++i)
{
cout<<dateiinhalt[i]<<endl;
}
return 0;
}[/PHP]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Jetzt funktioniert das einlesen von name und vorname, aber ich bekomme bei der hausnummer und der plz eine fehlermeldung weil sie ja INT sind. gibt es da noch einen anderen befehl, statt getline?

	void laden_knd(Adresse knd[])

	{


		std::string name;

		std::string vorname;

		std::string strasse;

		std::string hausnummer;

		std::string plz;

		std::string stadt;

		std::ifstream fin;

		fin.open("kunden.txt");

		do{


			for (int i=0;i<ANZ;i++)

			{

				if(!fin.eof())

			{

		getline (fin, name, '\t');

		getline (fin, vorname, '\t');

		getline (fin, strasse, '\t');

		getline (fin, hausnummer, '\t');

		getline (fin, plz, '\t');

		getline (fin, stadt, '\t');

		knd[i].set_name(name);

		knd[i].set_vorname(vorname);

		knd[i].set_strasse(strasse);

		knd[i].set_hausnummer(hausnummer);

		knd[i].set_plz(plz);

		knd[i].set_stadt(stadt);

			}

					}

			}while(!fin.eof());


				system("pause");

				fin.close();







	}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Gast
Dieses Thema wurde nun für weitere Antworten gesperrt.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...