While, compiling a package, written in C++ on RHEL 5.0. I am getting the following error.
> error: nocreate
is not a member of std::ios
The source-code corresponds to:
ifstream tempStr(
argv[4]
,ios::in
|ios::nocreate
);
I have tried
#g++ -O -Wno-deprecated <file.cpp> -o <file>
as well as:
#g++ -O -o <file>
Please suggest a solution.
Opening a file in read mode (
ios::in
) won't create it if it doesn't exist. You can just leave off the non-standardnocreate
. And sincein
is the default forifstream
:You can open the file as a filehandle using fopen and O_CREAT|O_EXCL and then convert it to a stream using
this uses a non standard extension defined in . If anyone has a better solution, i really want to know!
ios::nocreate
is not part of standard C++ - what are you expecting it to do?Edit: From a Google, it seems like it was intended to prevent the file being created if it doesn't already exist. This is the default for ifstreams anyway, so you can just say: