Witam,
Mam pytanie dot. funkcji plikowych i działania strumieni. Oto mój problem: Mam zaimplementować wyszukiwanie wzorca w pliku o wymiarach 1000x1000 i większym, różnymi algorytmami. Moje pytania są następujące:
- Czy lepiej poruszać się po pliku funkcją seekg() i porównywać znaki czy lepiej wczytać ten plik do pamięci?
- W jaki sposób przejść do kolejnej linii w pliku poruszając się w nim funkcją seekg (lub inna)? Po 1000 wypisanych znakach program wypisuje jakieś śmieci.
- Kod:
ifstream thousand;
for ( int i = 0; i < 1000; i++ )
{
for ( int j = 0; j < 1000; j++ )
{
thousand>>tab[i][j]; // <--- PROBLEM
}
}
Wczytuje do pamięci plik, działa i spełnia moje oczekiwania tylko nie wiem jakim cudem. Forami poruszam się po dynamicznie zaalokowanej 2-wym tablicy znaków lecz po pliku się nie poruszam.
a)Skąd więc 'komputer' wie jaki znak chce przypisać danej komórce w tablicy?
b)Dlaczego po przypisaniu znaku danej komórce komputer wie że kolejnej komórce ma przypisać kolejny znak?
4. Po prostu dlaczego np w mojej tablicy przez to, że się nie poruszam po pliku nie mam np. cały czas pierwszego znaku?
5. Co jakbym chciał wczytać np. co drugi znak albo jakoś inaczej?