CARVIEW |
Select Language
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Wed, 23 Jul 2025 04:10:04 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Location: /reference/fstream/basic_fstream/open/
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 23 Jul 2025 04:10:05 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
ETag: W/"7a92-9iQHKOjhcGsn/dUtx9i4vpT0sz8"
Content-Encoding: gzip
Opens the file identified by argument filename, associating it with the stream object, so that input/output operations are performed on its content. Argument mode specifies the opening mode.
If the stream is already associated with a file (i.e., it is already open), calling this function fails.
The file association of a stream is kept by its internal stream buffer:
Internally, the function calls
If the function fails to open a file, the failbit state flag is set for the stream (which may throw ios_base::failure if that state flag was registered using member exceptions).
Concurrent access to the same stream object introduce data races.
It throws an exception of member type failure if the function fails (setting the failbit state flag) and member exceptions was set to throw for that state.
Reference
C library:
- <cassert> (assert.h)
- <cctype> (ctype.h)
- <cerrno> (errno.h)
-
<cfenv> (fenv.h)C++11
- <cfloat> (float.h)
-
<cinttypes> (inttypes.h)C++11
- <ciso646> (iso646.h)
- <climits> (limits.h)
- <clocale> (locale.h)
- <cmath> (math.h)
- <csetjmp> (setjmp.h)
- <csignal> (signal.h)
- <cstdarg> (stdarg.h)
-
<cstdbool> (stdbool.h)C++11
- <cstddef> (stddef.h)
-
<cstdint> (stdint.h)C++11
- <cstdio> (stdio.h)
- <cstdlib> (stdlib.h)
- <cstring> (string.h)
-
<ctgmath> (tgmath.h)C++11
- <ctime> (time.h)
-
<cuchar> (uchar.h)C++11
- <cwchar> (wchar.h)
- <cwctype> (wctype.h)
Containers:
-
<array>C++11
- <deque>
-
<forward_list>C++11
- <list>
- <map>
- <queue>
- <set>
- <stack>
-
<unordered_map>C++11
-
<unordered_set>C++11
- <vector>
-
Input/Output:
Multi-threading:
-
<atomic>C++11
-
<condition_variable>C++11
-
<future>C++11
-
<mutex>C++11
-
<thread>C++11
-
Other:
- <algorithm>
- <bitset>
-
<chrono>C++11
-
<codecvt>C++11
- <complex>
- <exception>
- <functional>
-
<initializer_list>C++11
- <iterator>
- <limits>
- <locale>
- <memory>
- <new>
- <numeric>
-
<random>C++11
-
<ratio>C++11
-
<regex>C++11
- <stdexcept>
- <string>
-
<system_error>C++11
-
<tuple>C++11
-
<type_traits>C++11
-
<typeindex>C++11
- <typeinfo>
- <utility>
- <valarray>
<fstream>
class templates
classes
basic_fstream
- basic_fstream::basic_fstream
public member functions
non-member overloads
-
swap (basic_fstream)C++11
-
public member function
<fstream>
std::basic_fstream::open
void open (const char* filename, ios_base::openmode mode = ios_base::in | ios_base::out);
void open (const char* filename, ios_base::openmode mode = ios_base::in | ios_base::out);void open (const string& filename, ios_base::openmode mode = ios_base::in | ios_base::out);
Open file
If the stream is already associated with a file (i.e., it is already open), calling this function fails.
The file association of a stream is kept by its internal stream buffer:
Internally, the function calls
rdbuf()->open(filename,mode)
The function sets failbit in case of failure.
The function clears the stream's state flags on success (setting them to goodbit).
In case of failure, failbit is set.
In case of failure, failbit is set.
Parameters
- filename
- String with the name of the file to open.
Specifics about its format and validity depend on the library implementation and running environment. - mode
- Flags describing the requested input/output mode for the file.
This is an object of the bitmask member type openmode that consists of a combination of the following member constants:
member constant stands for access in input File open for reading: the internal stream buffer supports input operations. out output File open for writing: the internal stream buffer supports output operations. binary binary Operations are performed in binary mode rather than text. ate at end The output position starts at the end of the file. app append All output operations happen at the end of the file, appending to its existing contents. trunc truncate Any contents that existed in the file before it is open are discarded.
|
).
If the mode has both trunc and app set, the opening operation fails. It also fails if either is set but out is not, or if both app and in are set.
If the mode has both trunc and app set, the opening operation fails. It also fails if trunc is set but out is not.
Return Value
noneIf the function fails to open a file, the failbit state flag is set for the stream (which may throw ios_base::failure if that state flag was registered using member exceptions).
Example
|
|
Data races
Modifies the basic_fstream object.Concurrent access to the same stream object introduce data races.
Exception safety
Basic guarantee: if an exception is thrown, the stream is in a valid state.It throws an exception of member type failure if the function fails (setting the failbit state flag) and member exceptions was set to throw for that state.
See also
- basic_fstream::is_open
- Check if file is open (public member function)
- basic_fstream::close
- Close file (public member function)
- basic_filebuf::open
- Open file (public member function)
Home page | Privacy policy
© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s
Spotted an error? contact us
© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s
Spotted an error? contact us