Difference between revisions of "cpp/io/ios base/openmode"
From cppreference.com
(seealso to filebuf::open which actually shows how these take effect) |
(There is a 'See also' section.) |
||
(16 intermediate revisions by 11 users not shown) | |||
Line 1: | Line 1: | ||
− | {{cpp/io/ios_base/title | openmode}} | + | {{cpp/io/ios_base/title|openmode}} |
{{cpp/io/ios_base/navbar}} | {{cpp/io/ios_base/navbar}} | ||
− | {{ | + | {{dcl begin}} |
− | {{ | + | {{dcl| |
− | typedef /*implementation defined*/ openmode; | + | typedef /* implementation defined */ openmode; |
}} | }} | ||
− | {{ | + | {{dcl|1= |
− | static constexpr openmode app = /*implementation defined*/ | + | static constexpr openmode app = /* implementation defined */; |
− | static constexpr openmode binary = /*implementation defined*/ | + | static constexpr openmode binary = /* implementation defined */; |
− | static constexpr openmode in = /*implementation defined*/ | + | static constexpr openmode in = /* implementation defined */; |
− | static constexpr openmode out = /*implementation defined*/ | + | static constexpr openmode out = /* implementation defined */; |
− | static constexpr openmode trunc = /*implementation defined*/ | + | static constexpr openmode trunc = /* implementation defined */; |
− | static constexpr openmode ate = /*implementation defined*/ | + | static constexpr openmode ate = /* implementation defined */; |
}} | }} | ||
− | {{ | + | {{dcl|since=c++23|1= |
+ | static constexpr openmode noreplace = /* implementation defined */; | ||
+ | }} | ||
+ | {{dcl end}} | ||
− | Specifies available file open flags. It is a {{ | + | Specifies available file open flags. It is a {{named req|BitmaskType}}, the following constants are defined: |
{{cpp/io/ios_base/openmode consts}} | {{cpp/io/ios_base/openmode consts}} | ||
===Example=== | ===Example=== | ||
− | {{example | + | {{example|lang=cpp|1= |
− | + | | | |
− | + | |code= | |
− | + | #include <fstream> | |
+ | #include <iostream> | ||
+ | #include <string> | ||
+ | |||
+ | int main() | ||
+ | { | ||
+ | const char* fname = "unique_name.txt"; | ||
+ | |||
+ | // write to a temporary stream object | ||
+ | std::fstream(fname, std::ios::out {{!}} std::ios::trunc) << "Hi"; | ||
+ | |||
+ | std::string s; | ||
+ | std::fstream(fname, std::ios::in) >> s; | ||
+ | std::cout << s << '\n'; | ||
+ | } | ||
+ | |output= | ||
+ | Hi | ||
}} | }} | ||
===See also=== | ===See also=== | ||
− | {{ | + | {{dsc begin}} |
− | {{ | + | {{dsc inc|cpp/io/basic_filebuf/dsc open}} |
− | {{ | + | {{dsc inc|cpp/io/basic_stringbuf/dsc constructor}} |
+ | {{dsc end}} | ||
− | + | {{langlinks|de|es|fr|it|ja|pt|ru|zh}} | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |
Latest revision as of 17:43, 20 July 2023
typedef /* implementation defined */ openmode; |
||
static constexpr openmode app = /* implementation defined */; static constexpr openmode binary = /* implementation defined */; |
||
static constexpr openmode noreplace = /* implementation defined */; |
(since C++23) | |
Specifies available file open flags. It is a BitmaskType, the following constants are defined:
Constant | Explanation |
app | seek to the end of stream before each write |
binary | open in binary mode |
in | open for reading |
out | open for writing |
trunc | discard the contents of the stream when opening |
ate | seek to the end of stream immediately after open |
noreplace (C++23) | open in exclusive mode |
[edit] Example
Run this code
#include <fstream> #include <iostream> #include <string> int main() { const char* fname = "unique_name.txt"; // write to a temporary stream object std::fstream(fname, std::ios::out | std::ios::trunc) << "Hi"; std::string s; std::fstream(fname, std::ios::in) >> s; std::cout << s << '\n'; }
Output:
Hi
[edit] See also
opens a file and configures it as the associated character sequence (public member function of std::basic_filebuf<CharT,Traits> )
| |
constructs a basic_stringbuf object (public member function of std::basic_stringbuf<CharT,Traits,Allocator> )
|