Poruszanie się po pliku tekstowym oraz jego edycja
Ostatnio zmodyfikowano 2011-03-12 10:34
elradziu Temat założony przez niniejszego użytkownika |
Poruszanie się po pliku tekstowym oraz jego edycja » 2011-03-11 21:47:37 Witam mam mały problem. Otóż muszę stworzyć bazę danych. I teraz tak potrzebuję zrealizować jak przesunąć wskaźnik pliku o jedną linię w górę lub w dół. Oraz jak edytować daną linię?
Oto przykład istniejącego pliku
Marcin Kamil Łukasz Marek Agnieszka Frania Weronika ...
I jeżeli np przeszukuję plik w poszukiwaniu imienia Marek to wskaźnik ustawia się zaraz po tym do początku następnej linii (Agnieszka). Wie ktoś może jak to zrealizować przesunięcie tego wskaźnika o jeden wiersz w górę lub w dół a także edycje danego wiersza? |
|
malan |
» 2011-03-11 22:46:47 Skoro to ma być baza danych to zapoznaj się z SQLite. Jeżeli to rozwiązanie Ci nie odpowiada to pozostaje Ci wczytać dane do programu, np. do jakieś struktury, czy klasy. Skąd pomysł żeby cały czas pracować na pliku? |
|
dmx81 |
» 2011-03-11 23:31:59 nie wiem, czy to wydajny pomysl, ale powinien bys skuteczny:
- szukajac konkretnego imienia uzyc np funkcji get() - wcztujacej po jednym znaku z pliku az do napotkania nowej linii - zapisywac te znaki np do stringa (lub tablicy char) i porownywac z docelowym szukanym wyrazeniem - gcount() powie, ile znakow zostalo wczytanych (bajtow) - dzieki liczbie powyzej mozemy dowolnie ustalic wskaznik w pliku przez seekg(), albo sprawdzic pozycje wskaznika przez tellg() - mozna zrobic np "mape" pliku, wczytujac kazde imie az do eof() - po wczytaniu kazdego imienia tworzyc int z zapisana wartoscia pozycji wskaznika dla poczatku imienia, a pozniej uzywajac tych wartosci ustawiac wskaznik w danym miejscu w pliku to takie moje podpowiedzi "na sucho", pewnie wglebiajac sie dalej w temat cos wiecej by sie zrodzilo
|
|
elradziu Temat założony przez niniejszego użytkownika |
» 2011-03-12 09:18:10 Ok a jak z edytowaniem danej linii pliku? |
|
ThudPoland |
» 2011-03-12 09:30:30 Edytowaniem w jakim sensie pliku - dodawanie plików czy modyfikacja istniejących?
//Edit: Wróć, danej. Nie przeczytałem porządnie. Zara napiszę.
//Edit: Zasada jest taka - można zastąpić jakiś wpis. Przykładowo znając jakiś wpis (np. "Frania") możemy go zedytować wpis w oto taki sposób: 1. Wczytujemy gdzieś całą zawartość plyku. 2. Wyszukujemy w zmiennej miejsca gdzie zaczyna się dany wpys ("Frania"). 3. Przechodzimy do miejsca w plyku gdzie dany wpis się zaczyna i usuwamy dany wpis ("Frania"). 4. W tym samym miejscu piszemy to co chcemy napisać (np. "Kunegunda"). |
|
elradziu Temat założony przez niniejszego użytkownika |
» 2011-03-12 10:08:36 Ok...
Tylko czytam i czytam o usuwaniu wpisów z pliku. I nie znalazłem innego jak przepisanie istniejącego pliku z pominięciem danego wpisu....
Da się to inaczej wykonać?? |
|
ThudPoland |
» 2011-03-12 10:34:15 Żeby pominąć trzeba usunąć. Bynajmniej w najprostszej wersji. Zawsze można wczytywać do strumienia i kiedy znajdziemy w tekście dany fragment nie wczytywać go do strumienia. |
|
« 1 » |