Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

wczytywanie pliku tekstowego do pamięci

Ostatnio zmodyfikowano 2015-03-31 14:52
Autor Wiadomość
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:
C/C++
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)?
P-129626
« 1 »
  Strona 1 z 1