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
- klaustrofob
- 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
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
- Szemek
- 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
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.
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.
-
- 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
to coś w takim stylu będzie:
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
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();
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