zapis do pliku - usuwanie zawartości

0

Witam, jak zrobić aby dodawać dane do pliku , który od początku ma jakąś zawartość? W tej chwili przy zapisie, plik najpierw jest czyszczony (usuwane są dane z pliku) i dopiero po tym dodawane są nowe elementy. Chodzi mi o to abym z poziomu programu mógł dodawać dane do już istniejących. Podpowie ktoś jak to uczynić?

2

Flaga std::ios::app podczas otwierania pliku.

0

Ok, już wiem. Wystarczy zrobić coś takiego:

 NowyPlik.open("C:\\Users\\user\\Desktop\\plik.txt", ios::app);
0
spartanPAGE napisał(a):

Flaga std::ios_base::app podczas otwierania pliku.

A tak btw czym jest flaga w programowaniu? Jak można ją zdefiniować?

2

Flaga to pewna ustalona wartość (najczęściej bitowa), która informuje o czymś. Np. jak strumień widzi flagę ios_base::app to wie, że należy dopisać, jak widzi flagę ios_base::binary to wie, że należy traktować plik jako binarny.

Często flaga to jeden określony bit, dzięki czemu jedna zmienna może przechowywać informację o wielu flagach

const int PROTOSS = 1;   // bit na pierwszej pozycji, można też  = 1 << 0
const int ZERG = 2;        // bit na drugiej, 1 << 1
const int TERRAN = 4;    // bit na trzeciej, 1 << 2

int state = getState();
if (state & PROTOSS)    // pierwszy bit ustawiony
    killProtoss();

if (state & ZERG)       // drugi bit ustawiony
    killZerg();

W swoim kodzie możesz używać flagi np. do wyjścia z pętli

bool nalezy_wyjsc = false;
while (!nalezy_wyjsc)
{
    if (jakis_warunek) nalezy_wyjsc = true;
    ...
}
0

Mam jeszcze jedno pytanie. Otóż mam vector <string> z nazwami kilku plików. W trakcie działania programu dodaje nowy plik o nowej nazwie. Jak zrobić, aby po ponownym uruchomieniu programu do vectora <string> dodany był ten plik?

0
Zielony635 napisał(a):

Otóż mam vector <string> z nazwami kilku plików.
A skąd pochodzą te nazwy? Jak z pliku/bazy (generalnie pamięci, która istnieje poza programem) to dopisz nową nazwę do tego samego miejsca.

0

Kilka nazw mam od razu przepisanych do vectora z tablicy, a kolejne chciałem do niego dodawać.

0

To najlepszym sposobem jest odczyt nazw z pliku tak?

0

A jest jakaś funkcja pozwalająca na zapis każdej nazwy w nowej linii, tak żeby uniknąć wczytywania pustej linii?

0

Ok wystarczyło \r\n.

1 użytkowników online, w tym zalogowanych: 0, gości: 1