Witam. Mam problem z flagami. Ustawiam flage ios::nocreate i przy kompilacji wyskakuje mi
"coppy.cpp": E2451 Undefined symbol 'nocreate' in function main() at line 15
Przy fladze ios::noreplace jest tak samo..:(
Próbowałem to kompilować w devc++ 4.9.9 i w borlandzie6 personal i jakoś nie moge..:( Ewentualnie jeśli się nie da to jak zrobić żeby program sprawdzał czy plik istnieje i nie tworzył jesłi już jest.
podaj kod.
a wczesniej sprawdz czy uzuwasz przestrzeni std;
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream strum;
strum.open("c:/plik.txt",ios::binary,ios::nocreate);
system("pause");
return 0;
}
na razie to chce sie tego nauczyc... więc chodzi mi zeby ten program tylko skompilować- na razie nic nie robi..
Próbowałem też bez "using namespace std;" i dawałem wtedy przy bibliotekach ".h" ale tez nie idzie..:(
No moglem w sumie tak od razu, ale zapomnialo mi sie :]
W nowym standardzie nie ma juz tych flag, a spowodowane jest to tym, ze byly one zbyt zalezne od danej platformy, ale masz tu dwa przyklady jak zastapic te flagi ;P
ios::nocreate
fstream fs(?fname?, ios_base::in);// otworz do odczytu
if (!fs)
{
// jezli nie ma takiego to nie tworzy nwego
}
else //ok, file exists. close and reopen in write mode
{
fs.close();
fs.open(?fname?, ios_base::out); // a teraz otworz do zapisu
// Nigdy nie na odwrot, bo w czasie otwarcia do zapisu jest plik tworzony automatycznie
}
no i no::replace
fstream fs(?fname?, ios_base::in);// attempt open for read
if (!fs)
{
// plik nie istnieje to go tworzymy
fs.open(?fname?, ios_base::out);
}
else //ok, plik istnieje i otwioeramy go ponownie do zapisu
{
fs.close()
fs.open(?fname?, ios_base::out);
}
O stary dzięki wielkie bo wszedzie gdzie tego szukałem to tylko znajdowałem ze to stara opcja i nic poza.. a zbytnio nie miałem pojęcia jak ją zastąpić... Ale teraz już w SPACJA końcu wiem i wytykam sobie teraz ze sam na to nie wpadłem..;) Dzięki za pomoc:) tak poza to fajne forum tu jest.. może się tu zarejestruje na stałe...:)
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.