[Qt] dopisanie do pliku z użyciem QTextStream


(Kornicameister) #1

konstrukcja pliku wygląda następująco

dbNames

db1

db2


users

Janowski

Jakubowski

czyli mam w jednym pliku zawarte nazwy baz danych oraz nazwy użytkowników... teraz jeśli chcę dopisać nowego użytkownika to po prostu otwieram plik z flagami

QIODevice::WriteOnly | QIODevice::Append

i dopisuję grzecznie userów na koniec pliku

ale mam problem do rozwikłania następujący, bo każda z flag QIODevice wykasuje plik, prócz pewnie QIODevice::ReadOnly i QIODevice::ReadWrite.

Ale zastanawiam się czy nie ma prostszego sposobu niż "zbuforowanie" całej zawartości pliku, ewentualnie poszatkowanie go kombinacją metod z QTextStream,QStringList i QString

napiszę jeszcze raz co jest mi potrzebne

  1. otworzyć plik aby dopisać nazwę bądź nazwy nowych baz danych

  2. szukając od góry pliku znaleźć pierwszą pustą linię

  3. począwszy od tego miejsca zacząć wstawiać nazwy nowych baz danych (w szczególności jedną)

  4. po zakończeniu procesu dopisywania dopisać kolejną pustą linię

jakiś pomysł, bo ja nie mogę jakoś na żaden ciekawy wpaść :confused:


([alex]) #2

Podziel plik na dwa pliki, będziesz zawsze dopisywać na koniec.


(Kornicameister) #3

myślałem o tym, ale mnie to nie zadowalało

znalazłem więc inne rozwiązanie, po przejrzeniu trochę dokumentacji qt

do zapisywanie konfiguracyjnych ustawień istnieje specjalna klasa/moduł Qt i jest nim QSettings

http://doc.qt.nokia.com/4.7-snapshot/qsettings.html