[C++] String als Zahlen auslesen

paddymann

Mitglied
Hallo,

ich sach nur mal vorweg, dass ich die Suchfunktion benutzt habe, aber keine Lösung gefunden habe.
Zu meinem Problem: ICh habe eine beliebige .dat Datei, in der Daten z.B. so enthalten sind:
123 54 778 984 12 234 23 678

Ich möchte diese Zahlen einzeln auslesen. Und zwar nicht als String sonder numerisch. Am besten wärs wenn ich die in einer Variablen zuweisen könnte.
Geht das noch mit dem normalen ifstream oder muss ich da doch das für mich komplizierte "istringstream" benutzen?
Danke!
 
Also du könntest Die Zahl als string ganz normal auslesen auslesen und dann den string
(komplett oder gestückelt..weiss ja nicht ob du einzelne Ziffern willst) mit atoi() in integer umwandeln!
Code:
int atoi( const char *string );
 
moin


Da du anscheinend in C++ programmieren willst, würde ich es ainfach so machen:
Code:
#include <fstream>

int main()
{
	int nZahlen[10];
	int i = 0;

	std::ifstream datei("test.txt");

	while(datei)
	{
		datei >> nZahlen[i++];
	}

	return 0;
}


mfg
umbrasaxum
 
Warum funktioniert das nicht?

Code:

#include <iostream>
#include <fstream>

using namespace std;

int main()
{
int schluss;
ifstream anyStream;
anyStream.open("test.dat", ios::in);

int nZahlen[10];


for (int n=0;n<10;n++)
{
anyStream >> nZahlen[10];
cout << nZahlen[n];
}

cin >> schluss;
}
 
moin


Die Zeile
Code:
anyStream >> nZahlen[10];
ist falsch.
Code:
anyStream >> nZahlen[n];
muss es heissen. Da du immer nur in ein Element schreiben kannst.
Lern wirklich erstmal die Grundlagen, und das ist wirklich was elementares, bevor du solche Sachen versuchst.


mfg
umbrasaxum
 
dAs war jetz der falsche Code den ich da reinkopiert hab. Eigentlich hatte ich da zuerst auch n stehen. Aber da gibt er immer noch Zahlen aus die garnicht in der Text Datei stehen.
 
Zurück