0

I've been working with c++ and I noticed that whenever I use .open() for a file if there's no file with that name, it just creates one. Is there a way to have it not do this?

3

1 Answer 1

2

Check if the file exists first. The following link might help you:

Fastest way to check if a file exists using standard C++/C++11,14,17/C?

Or maybe, you could use the nocreate option:

void open(const char *filename, ios::openmode mode); where,

  • First argument *filename specifies the name of file and location.
  • Second argument open() member function defines the mode in which the file should be opened.

All the options here: https://www.tutorialride.com/cpp/file-handling-in-c.htm

Sign up to request clarification or add additional context in comments.

2 Comments

Checking if the file already exists before trying to open it is not reliable, the file might have been deleted or moved between the moment you check and when you try to open it.
I recommend expanding on this answer to demonstrate which open modes will not create a new file. I've linked a few helpful tables above in the comments you can feel free to reference.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.