wczytywanie pliku tekstowego do pamięci
Ostatnio zmodyfikowano 2015-03-31 14:52
b00rt00s Temat założony przez niniejszego użytkownika |
wczytywanie pliku tekstowego do pamięci » 2015-03-31 14:52:45 Potrzebuję przetworzyć plik tekstowy (kolumny rozdzielone średnikiem). Chodzi o to, żeby usunąć niektóre wiersze, niektóre kolumny i podzielić plik na kilka. Wymyśliłem skuteczny, tj. działający, kawałek kodu, ale mam wątpliwości co do wydajności. Nie mam z tym programem problemów (bo robi co trzeba), ale dla własnej ciekawości interesuje mnie, czy to jest zrobione "zgodnie ze sztuką". Oto kod, który wymyśliłem: std::vector < std::vector < std::string >> file;
std::string str; boost::filesystem::ifstream input_stream( "/sciezka/do/pliku" );
while( getline( input_stream, str ) ) { std::stringstream stream( str ); std::string word; std::vector < std::string > line; while( getline( stream, word, ';' ) ) back_inserter( line ) = word; back_inserter( file ) = line; }
Dalej następuje odpowiednia analiza zmiennej file. Czy to jest dobrze, czy można zrobić lepiej (wydajniej)? |
|
« 1 » |