Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

oder wäre es vielleicht einfacher, wenn die txt ein anderes format hätte

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]

schade, auch das hat das problem nicht behoben

habe mal den ganzen code angehängt, weil ich ihn nicht einfügen konnte

mein problem "lesen" beginnt in zeile 250

http://www.qfile.de/dl/61737/lager_1.txt.html

Was spricht denn gegen sowas:

fin>>name>>vorname;
knd[i].set_name(name);
knd[i].set_vorname(vorname);[/PHP]

Das sollte auch funktionieren. (Habs nicht getestet)

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();







	}

Gast
Dieses Thema ist für weitere Antworten geschlossen.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.