FastLED 3.9.15
Loading...
Searching...
No Matches

◆ open()

void fl::fstream::open ( const char * path,
ios::openmode mode = ios::in | ios::out )

Definition at line 237 of file fstream.cpp.hpp.

237 {
238 close();
239
240 // Build fopen mode string for read+write
241 const char* fmode;
242 if (mode & ios::app) {
243 fmode = (mode & ios::binary) ? "a+b" : "a+";
244 } else if (mode & ios::trunc) {
245 fmode = (mode & ios::binary) ? "w+b" : "w+";
246 } else {
247 fmode = (mode & ios::binary) ? "r+b" : "r+";
248 }
249
251
252 if (mHandle->is_open()) {
253 if (mode & ios::ate) {
254 mHandle->seek(0, seek_dir::end);
255 }
256 updateState();
257 } else {
258 updateState();
259 }
260}
void updateState()
Definition fstream.h:308
filebuf_ptr mHandle
Definition fstream.h:301
static constexpr openmode ate
Definition fstream.h:30
static constexpr openmode trunc
Definition fstream.h:33
static constexpr openmode binary
Definition fstream.h:29
static constexpr openmode app
Definition fstream.h:34
shared_ptr< T > make_shared(Args &&... args) FL_NOEXCEPT
Definition shared_ptr.h:414

References fl::ios::app, fl::ios::ate, fl::ios::binary, close(), fl::end, fl::make_shared(), mHandle, fl::ios::trunc, and updateState().

Referenced by fstream().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: