Spory plik tekstowy i tablica

Odpowiedz Nowy wątek
2013-06-04 17:43
DolinaMuminków
0

Mam mały problem z odczytem pliku w którym znajduje się 3147264 znaków, które wprowadzam do tablicy.
Samo wprowadzenie jest dość szybkie. Problem pojawia się kiedy chcę połączyć po 4 znaki w jednego stringa i wprowadzić je do wektora. Zanim wykona się ta pętla mija ok 20 minut co jest strasznie uciążliwe.
Jest na to jakiś szybszy sposób?

Pozostało 580 znaków

2013-06-04 17:54
1

Zanim będziemy mogli cokolwiek powiedzieć i doradzić pokaż w jaki sposób to robisz.


Co kurła debuguj ten kod i streszczaj się klientowi chce się fixa, a jak nie kurła to odpale visuala i ci pomoge a tego byś nie chciał

Pozostało 580 znaków

2013-06-04 22:19
DolinaMuminków
1

Tablica "tab" jest wypełniona i zawiera 3147264 elementy.

stringstream a,b,c,d;
string temp;
for(int i=0; i<rozmiar; i+=4)
{
    a<<int(tab[i]);
    b<<int(tab[i+1]);
    c<<int(tab[i+2]);
    d<<int(tab[i+3]);
    temp=a.str()+b.str()+c.str()+d.str();
    a.str(""); b.str(""); c.str(""); d.str(""); 
    wektor.push_back(temp);
}

Pozostało 580 znaków

2013-06-04 22:29
1
for(int i=0; i<rozmiar; i+=4)
        wektor.push_back(string(tab+i, 4));

Pozostało 580 znaków

2013-06-05 00:11
1
for(int i=0;i<rozmiar;i+=4)
  {
   stringstream s;
   for(int k=0;k<4;++k) s<<(int)tab[i++];
   wektor.push_back(s.str());
  }

tylko że skoro mówisz że to są takie rozmiary to znaczy że prawdopodobnie coś jest nie tak. Więc lepiej podaj więcej szczegółów - po kiego ci tak wielkie tablice na których robisz identyczne operacje?


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0