Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Operacje na plikach txt. Usuwanie fragmentu tekstu i zarazem pliku.

Ostatnio zmodyfikowano 2015-11-15 19:08
Autor Wiadomość
oliwierr
Temat założony przez niniejszego użytkownika
Operacje na plikach txt. Usuwanie fragmentu tekstu i zarazem pliku.
» 2015-11-15 16:51:29
Są trzy przykładowe pliki:

ListaPracownikow.txt
PracownikAgata.txt
PracownikJan.txt

Mam funkcję dodającą nowego pracownika i tworzy plik o nazwie ("pracownik" + 'imie pracownika").txt (np. PracownikJan.txt). W tym pliku są zawarte o nim informacje.
A plik ListaPracownikow zawiera imiona które są automatycznie dodawane po dodaniu nowego pracownika. Zawartość ListaPracownikow.txt:

Agata
Jan

I mój problem jest taki. Chciałbym zrobić funkcję którą będę usuwać pracowników. Co mam na myśli? Otóż ta funckja powinnna usunąć imie pracownika z pliku ListaPracownikow oraz usunac plik z informacjami o nim czyli ("pracownik" + 'imie pracownika").txt.

Help mi :x
P-140170
oliwierr
Temat założony przez niniejszego użytkownika
» 2015-11-15 17:01:00
Aha! Jezscze dodatkowo chciałbym wspomnieć że ta funkcja powinna usunąć pracownika którego imie wpiszę CINEM.
Przykładowo cin >> imie;

A z klawiatury wpisuje Jan.

I wtedy z listy pracowników powinien się usunąć wiersz ze słowem "Jan" a dodatkowo usunąć pracownikjan.txt.
P-140171
carlosmay
» 2015-11-15 17:51:29
Dorzuć kod.
Jak zapisujesz do pliku?
Jak przechowujesz dane w programie?
P-140174
michal11
» 2015-11-15 18:07:10
A co jak będzie 2 pracowników o tym samym imieniu ?
Używanie z pliku listaPracownikow najłatwiej chyba będzie zrealizować w ten sposób, że tworzysz nowy plik do którego kopiujesz wszystkich pracowników oprócz tego do usunięcia, usuwasz oryginalny plik i zmienisz nazwę tymczasowego, oczywiście to będzie bardzo nieefektywne dla wielu operacji usuwania pracownika w krótkim czasie.
P-140176
oliwierr
Temat założony przez niniejszego użytkownika
» 2015-11-15 18:12:58
Plik pracownik + imie.txt to zlepka stringów. Imie wpisane cinem z klawiatury, nastepnie zmienna description która pobiera stringa z osobnego pliku, wpisany tekst w apostrofach + do tego endl;
Tak wygląda wpisywanie danych do pracownikjan.txt
{


    filee.open(pracownik.c_str(), ios::out);

    filee << imie << description[0] << "czlonkiem druzyny" << endl;

    filee << imie << description[1] << "uzytkownikiem komputera" << endl;

    filee << imie << description[2] << "wladajacy mieczem" << endl;

    filee << imie << description[3] << "graczem" << endl;

    filee.close();
}

Tak zostają wprowadzane dane do pliku np. pracownik + "imie" .txt. Są to pełne zdania w pliku i każde zapisane w osobnej liniijce.
Gdzie i imie i desctiption są stringami.

Imie zostało wprowadzone cinem w osobnej funkcji a description[n] kryją pod sobą "jest" lub "nie jest".


W przypadku description[n] wygląda to tak że pobiera osobna funkcja pobiera z osobnego pliku tekstowego zera i jedynki.
0
1
1
0

Następnie gdy pierwsza linijka jest równa 0, to desctiption = nie jest a gdy 1 desctiption = nie jest, i tak z drugą linikją, trzecią i czwartą.

if (liczba == 0)
    file << " nie jest " << endl;
else if (liczba == 1)
    file << " jest " << endl;

-----------------------------------------------------------------------------------------------------------------
Jezu wiem że pewnie masę amatorskich błędów porobiłem i można było łatwiej i krócej ale pls nie krzyczcie już ;_;
P-140177
oliwierr
Temat założony przez niniejszego użytkownika
» 2015-11-15 18:14:45
@michał

Jak wprowadzę pracownika o imieniu który już istnieje to poprzedni plik z danymi pracownika zostanie podmieniony danymi nowo wprowadzonymi.
Ale to jest celowe i nie chcę tego zmieniać.
P-140178
carlosmay
» 2015-11-15 18:53:24
Jeśli dobrze rozumiem to chcesz wyszukać plik o podanej nazwie i go usunąć.
Listowanie zawartości katalogu
Jak już wynajdziesz plik o określonej nazwie usuń
C/C++
remove( "nazwa_pliku.txt" );
 Przeszukanie nazw z pliku ListaPracownikow.txt metodą find() ze string'a.
Wyszukiwanie frazy w tekście
P-140179
oliwierr
Temat założony przez niniejszego użytkownika
» 2015-11-15 19:08:30
Bardzo dziękuję za pomoc :)
Zamkykam temat.

Swoją drogą to kocham to forum i bez niego jechałbym na jedynkach w szkole.
Dzięki <3
P-140182
« 1 »
  Strona 1 z 1