Problem z odczytaniem tego, co wcześniej zapisałem do pliku

0

Witam,

mam następujące pytanie: Czy jest możliwe, że tylko raz można otworzyć źródłem jakiś plik?? Ponieważ kiedy otwieram plik załóżmy:

fstream boroowa((char*)"./temp/temp.tmp",ios::in);

// coś tu robię, np wczytuję do końca pliku

boroowa.close();

to kiedy chcę otworzyć jeszcze raz ten plik

fstream kichawa((char*)"./temp/temp.tmp",ios::in);

//coś tu robię, nie wiadomo co

kichawa.close();

Jakby nie reagowało na polecenia dotyczące "kichawy". O co tu biega? Mało tego, nie mogę np. używać seekq czy seekp... Niby są, ale w ogóle nie działają...

P.S. Przepraszam moderatorów i adminów za poprzedni temat. Kiedy się jest niewyspanym łatwo o pomyłkę....

0

Po pierwsze popraw temat :D
Po drugie, jeśli definiujesz zmienną 2 raz to powinno ci się to nie skompilować. Poczytaj o fstream::open():
http://www.cplusplus.com/reference/iostream/fstream/open.html
I ogólnie o całym fstream:
http://www.cplusplus.com/reference/iostream/fstream/

0

Znam większość tych poleceń, do których dałeś mi linka. Problem polega na tym, że w ogóle te strumienie dosyć topornie dzialają, np. nie mogę poprawnie korzystać z czegoś takiego:

fstream dziadek((char*)"tekst.txt",ios::out | ios::in)

nie jet tu żaden błąd kompilacji, ale kiedy np. wpiszą coś takiego

char boroowa[10];

strcpy(boroowa,"Lalalala");

dziadek << boroowa;

wtedy w pliku mogę mieć coś takiego:

Lalalala alalala lalalalala

kiedy jak używam:

fstream dziadek((char*)"tekst.txt",ios::out)

i robię to samo, to mam wszsytko pod kontrolą. i możesz mi to wytłumaczyć?

0

ha w końcu wiem o co ci chodzi.
W 1 przypadku otwierasz istniejący plik, coś wpisujesz mu na początku, a koniec pliku i jego rozmiar pozostaje bez zmian.
W 2 przypadku otwierając w ten sposób, zerujesz rozmiar pliku i w momencie apisu masz jedynie te dane, które właśnie wpisałeś, stare dane są ignorowane.

Swoją drogą to nie mam pojęcia jak to się ma do tego co napisałeś zakładając ten wątek.

0

A co do tego, to wiesz MarekR22, jak można to naprawić tak, bym mógł czytać normalnie z pliku? Bo operacja, jaką robię, to wpisuję najpierw do pliku ścieżkę dostępu jednym źródłem, a potem drugim chcę ją z tego pliku odczytać. I ma to nijakie skutki, ponieważ to drugie źródło, jakie zrobiłem, nie działa...

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