einlesen von daten
-
hallo leute
ich hab mal eine frage
ich will für mein programm zahlen aus einer bestehenden datei c:// test.txt
einlesen. die variablen in der datei haben folgende form
23;111;422121;2929;99
usw. usw also trennung durch strichpunkt und leerzeichen
wie greif ich auf die datei zu und wie les ich die einzelnen zahlen ein??
danke
-
Hallo rabs,
ungefähr so:
#include <fstream> void lese3( std::istream& in ) { int z1, z2, z3; char delim; if( in >> z1 >> delim >> z2 >> delim >> z3 ) ; // alles ok } int main() { using namespace std; ifstream file( "C:/test.txt" ); lese3( file ); lese3( file ); return 0; }Gruß
Werner
-
herzlichen dank dafür.
eines noch: weiters habe ich 3 arrays zum einlesen. die array sehen so aus:
11;12;13
21;22;23
31;32;33
41;42;43
51;52;53
usw keine bestimmte längewie mach ich das am besten? alles double.
-
rabs schrieb:
herzlichen dank dafür.
eines noch: weiters habe ich 3 arrays zum einlesen. die array sehen so aus:
11;12;13
21;22;23
31;32;33
41;42;43
51;52;53
usw keine bestimmte längewie mach ich das am besten? alles double.
Hallo rabs,
ich sehe nur ein Array mit Zahlen-Tripeln. Da die ja auch irgendwo hin müssen, wie wär's mit 'nem std::vector ..#include <fstream> #include <vector> #include <algorithm> // copy #include <iterator> // back_inserter, istream_iterator struct Z3 { friend std::istream operator>>( std::istream& in, Z3& z3 ) { char delim; return in >> z3.m_z1 >> delim >> z3.m_z2 >> delim >> z3.m_z3; } double m_z1, m_z2, m_z3; }; int main() { using namespace std; std::vector< Z3 > zahlen; copy( istream_iterator< Z3 >( ifstream( "C:/test.txt" ) ), istream_iterator< Z3 >(), back_inserter( zahlen ) ); return 0; }Ist das ok? ich kann Deinen Wissensstand in Sachen STL nicht abschätzen.
Gruß
Werner