For option r+ the file must already exist.
If you believe it already does exist, then check it is in the right location, usually the same folder as the executable program. http://www.cplusplus.com/reference/cstdio/fopen/
Yes, it is part of C rather than C++. But compilers often include the other headers, probably because one header file may include another header. C is a subset of C++ and the use of C code is permitted.