Podział pliku txt

luqasz
Użytkownik
Użytkownik
Posty: 385
Rejestracja: 30 gru 2006, o 14:26
Płeć: Mężczyzna
Lokalizacja: rzeszów
Podziękował: 81 razy
Pomógł: 14 razy

Podział pliku txt

Post 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ć .
Awatar użytkownika
klaustrofob
Użytkownik
Użytkownik
Posty: 1984
Rejestracja: 11 lis 2007, o 07:29
Płeć: Mężczyzna
Lokalizacja: inowrocław
Podziękował: 1 raz
Pomógł: 607 razy

Podział pliku txt

Post 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
luqasz
Użytkownik
Użytkownik
Posty: 385
Rejestracja: 30 gru 2006, o 14:26
Płeć: Mężczyzna
Lokalizacja: rzeszów
Podziękował: 81 razy
Pomógł: 14 razy

Podział pliku txt

Post autor: luqasz »

klaustrofob, wolałbym w c++ bo troche go znam (tylko podstawy podstaw ) a pascala wogóle
Awatar użytkownika
Szemek
Użytkownik
Użytkownik
Posty: 4819
Rejestracja: 10 paź 2006, o 23:03
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 43 razy
Pomógł: 1407 razy

Podział pliku txt

Post 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.
luqasz
Użytkownik
Użytkownik
Posty: 385
Rejestracja: 30 gru 2006, o 14:26
Płeć: Mężczyzna
Lokalizacja: rzeszów
Podziękował: 81 razy
Pomógł: 14 razy

Podział pliku txt

Post autor: luqasz »

Szemek pisze: pierwsze 2000 słów -> plik pierwszy, kolejne 2000 słów -> plik drugi, itd.
dokładnie tak
spajder
Użytkownik
Użytkownik
Posty: 735
Rejestracja: 7 lis 2005, o 23:56
Płeć: Mężczyzna
Lokalizacja: Łódź
Podziękował: 2 razy
Pomógł: 133 razy

Podział pliku txt

Post 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
ODPOWIEDZ