ďťż

Ładny brzuch

Witam!
Jak zapisać dane do pliku, żeby nie utracić wcześniej zapisanych danych? Znalazłem w którymś temacie na tym forum, że można użyć funkcji SetFilePointer. Niestety wciąż dane są nadpisywane. Oto kod:

#include <iostream> #include <fstream> #include <windows.h> using namespace std; int main() {      string dane;    dane = "jakis tekst";    ofstream oPlik;    oPlik.open("./dane.txt");    SetFilePointer(oPlik,GetFileSize(oPlik,NULL),NULL,0);    oPlik << dane << endl;    oPlik.close();    system("PAUSE"); }



SetFilePointer() zadziała, jeśli do otwarcia pliku użyjesz CreateFile() (Winapi :P). A Ty zrób tak:#include <iostream> #include <fstream> using namespace std; int main() {     string dane;   dane = "jakis tekst";   fstream oPlik;   oPlik.open("./dane.txt");   oPlik.seekg(0,ios::end);   oPlik << dane << endl;   oPlik.close();   system("PAUSE"); }

Jak zwykle Cyrkiel okazał sie pomocny :D Dzięki :)

A jak zrobic identycznie to samo, tylko ze w c? B)



Nie wiem czy dobrze zrozumiałem chodzi ci o dopsywanie danych na końcu pliku jesli tak to masz przykład w C
#include <stdio.h> #include <iostream.h> int main() { FILE *f; // wskaznik do pliku // otworzenie pliku lub jego stworzenie if ((f = fopen("dane.txt","w"))==NULL) { cout<<"Nie moge stworzyc pliku!"; return 1; } char *dane = "jakis tekst"; //zapisywanie danch do pliku fwrite(&dane,sizeof(dane),1,f); // zamkniecie pliku fclose(f); // teraz bedzie dopisywanie danych // otworzenie pliku w trybie dopisywania danych if ((f = fopen("dane.txt","a"))==NULL) { cout<<"Nie moge otworzyc pliku!"; return 1; } char *dane1 = " dodatkowy tekst!"; fwrite(&dane1,sizeof(dane1),1,f); fclose(f); return 0; }

wielkie THX

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •