Strona 1 z 1

Podział pliku txt

: 4 lip 2008, o 14:13
autor: luqasz
Witam
Nie wiedziałem gdzie załozyc ten temat wiec dałem go tutaj.
Chce podzielić plik txt który zawiera około 160000 słów z których każde znajduje sie w nowej linijce na piliki txt które beda zawierały po 2000 słów. Szukałem w google ale nic konkretnego nie znalazłem tylko kilka skryptów w php a tego języka programowania w ogóle nie znam. Jesli ktoś zna jakis programik albo inny sposób niech poda linka lub napisze jak to zrobić .

Podział pliku txt

: 4 lip 2008, o 15:39
autor: klaustrofob
paskal? coś takiego, szczegóły dopracuj

Kod: Zaznacz cały

repeat
j=2000
for i=1 to j begin
  readln (plik_we);
  writeln (plik_wy);
end;
until eof

Podział pliku txt

: 4 lip 2008, o 18:00
autor: luqasz
klaustrofob, wolałbym w c++ bo troche go znam (tylko podstawy podstaw ) a pascala wogóle

Podział pliku txt

: 4 lip 2008, o 19:59
autor: Szemek
luqasz,
Jak ma wyglądać dzielenie na pliki :?: pierwsze 2000 słów -> plik pierwszy, kolejne 2000 słów -> plik drugi, itd.
W takim wypadku dobrze byłoby po prostu kolejno numerować pliki.

Podział pliku txt

: 4 lip 2008, o 20:04
autor: luqasz
Szemek pisze: pierwsze 2000 słów -> plik pierwszy, kolejne 2000 słów -> plik drugi, itd.
dokładnie tak

Podział pliku txt

: 4 lip 2008, o 21:02
autor: spajder
to coś w takim stylu będzie:

Kod: Zaznacz cały

ifstream plikWejsciowy;
plikWejsciowy.open("NazwaPliku");
string temp;

while(!plikWejsciowy.eof())
    {
        ofstream plikWyjsciowy;
        plikWyjsciowy.open("nazwa");      // tu zmień nazwę na nazwę kolejnego pliku. Możesz je zapisywać
                                                             // w tablicy, tworzyć za pomocą wrzucenia do nazwy numeru itp.
        for(int licznik = 0; licznik < 2000; i++){
            if(plikWejsciowy.eof())
                break;
            plikWejsciowy >> temp;
            plikWyjsciowy << temp;
        }
        plikWyjsciowy.close();
    }



plikWejsciowy.close();
nie wrzucałem kodu w kompilator, zresztą napisałem tylko fragment. Należy dorobić funkcje, obsługę błędów. Do tego oczywiście pamiętaj o przestrzeniach nazw (std) i dołączeniu odpowiedniech nagłówków (string,fstream)
Sam algorytm jest prosty: odczytuję z pliku po jednej linijce aż do napotkania końca pliku. Przed każdymi 2000 linijek tworzę nowy plik do którego zapisuję te wyrazy. A po tych 2000 linijek go zamykam