Odczyt danych z pliku - tekst rodzielony znakami TAB
Ostatnio zmodyfikowano 2017-07-27 18:58
PL_Andrev Temat założony przez niniejszego użytkownika |
Odczyt danych z pliku - tekst rodzielony znakami TAB » 2017-07-27 18:33:14 Witam, Putanie od nowicjusza (VC++): problemem jest poprawny odczyt danych z pliku testowego, składającego się z trzech kolumn rodzielonych znakiem tabulacji: Plik testowy ma postać: 0100 [TAB] 0200 [TAB] Test_One 0300 [TAB] 0400 [TAB] Test Two 0500 [TAB] 0500 [TAB] The Third Test
Efekt jest taki jak na załączonym obrazku, tj. znaki spacji w text3 traktowane są jak koniec linii. W rezultacie do tablicy wrzucane są stringi: Test_One, Test, The: biały - uzyskane efekt; czerwony - efekt oczekiwany; vector < string > x_array, y_array, z_array;
string infile = "C:\\...";
ifstream file( infile ); string line;
while( getline( file, line ) ) { stringstream linestream( line ); string val1, val2, val3; getline( linestream, val1, '\t' ); linestream >> val2 >> val3; x_array.push_back( val1 ); y_array.push_back( val2 ); z_array.push_back( val3 ); }
Jakieś sugestie? |
|
pekfos |
» 2017-07-27 18:38:28 getline( linestream, val1, '\t' );
linestream >> val2 >> val3; |
Wczytaj wszystkie 3 wartości takim getlinem. |
|
maly7 |
» 2017-07-27 18:45:21 Tak jak powyżej, dwie pierwsze wartości wczytaj do spacji, ostatnią do końca linii: getline( linestream, val1, ' ' ); getline( linestream, val2, ' ' ); getline( linestream, val3, '\n' ); |
|
pekfos |
» 2017-07-27 18:47:31 dwie pierwsze wartości wczytaj do spacji, ostatnią do końca linii: |
Temat mówi o polach rozdzielanych znakami tabulacji, więc ten kod nie zadziała poprawnie. |
|
PL_Andrev Temat założony przez niniejszego użytkownika |
» 2017-07-27 18:58:01 Niemożliwe że było to aż tak proste. Dzięki! |
|
« 1 » |