nlib
nn::nlib::FileOutputStream クラスfinal

ファイルの出力ストリームです。 [詳解]

#include "nn/nlib/FileOutputStream.h"

+ nn::nlib::FileOutputStream の継承関係図

公開メンバ関数

errno_t Open (const char *filename, int flags, int mode) noexcept
 ファイルを書き込み用でオープンします。 [詳解]
 
errno_t Open (const char *filename, int flags) noexcept
 上記関数の引数省略版です。 mode0644を代入しています。
 
errno_t Open (const char *filename) noexcept
 上記関数の引数省略版です。 flagsNLIB_FD_O_WRONLY | NLIB_FD_O_CREAT | NLIB_FD_O_TRUNCを代入しています。
 
errno_t Open (const wchar_t *filename, int flags, int mode) noexcept
 ファイルを書き込み用でオープンします。 [詳解]
 
errno_t Open (const wchar_t *filename, int flags) noexcept
 上記関数の引数省略版です。 mode0644を代入しています。
 
errno_t Open (const wchar_t *filename) noexcept
 上記関数の引数省略版です。 flagsNLIB_FD_O_WRONLY | NLIB_FD_O_CREAT | NLIB_FD_O_TRUNCを代入しています。
 
errno_t FdOpen (nlib_fd fd) noexcept
 既にオープンされたファイルでFileOutputStreamを利用できるようにします。 [詳解]
 
nlib_fd GetFd () const noexcept
 ファイルディスクリプタを返します。 [詳解]
 
コンストラクタ、デストラクタ、及び初期化
constexpr FileOutputStream () noexcept
 デフォルトコンストラクタです。実行後Init()による初期化を必要とします。
 
virtual ~FileOutputStream () noexcept final override
 デストラクタです。 ファイルが開いている場合は閉じます。
 
errno_t Init (const FileOutputStreamSettings &settings) noexcept
 動作オプションを指定して初期化を行います。成功した場合は0を返します。 [詳解]
 
errno_t Init () noexcept
 上記関数の引数省略版で、settingsをデフォルト値で渡します。
 
- 基底クラス nn::nlib::OutputStream に属する継承公開メンバ関数
size_t Pos () const noexcept
 ストリーム上の現在位置を返します。 [詳解]
 
uint64_t Pos64 () const noexcept
 ストリーム上の現在位置を64bit整数で返します。 [詳解]
 
bool Write (int b) noexcept
 ストリームに1バイトのデータを書き込みます。 [詳解]
 
bool Write (const void *p, size_t n) noexcept
 ストリームにn バイトのデータを書き込みます。 [詳解]
 
bool WriteGather (const nlib_fd_iovec *iov, int iovcnt) noexcept
 複数の非連続のバッファからデータをストリームに書き出します。 [詳解]
 
bool Flush () noexcept
 ストリームをフラッシュします。 [詳解]
 
bool Close () noexcept
 ストリームをフラッシュした後、ストリームを閉じます。成功した場合にはtrueを返します。 [詳解]
 
errno_t GetErrorValue () const noexcept
 エラー値を取得します。 [詳解]
 
BufferingMode GetBufferingMode () const noexcept
 バッファリングモードを取得します。
 
 operator bool () const
 オブジェクトが初期化済みで内部でエラーが発生していなければtrue、発生していればfalseを返します。
 
constexpr OutputStream () noexcept
 デフォルトコンストラクタです。
 
virtual ~OutputStream () noexcept
 デストラクタです。
 

その他の継承メンバ

- 基底クラス nn::nlib::OutputStream に属する継承公開型
enum  BufferingMode {
  kBufferingModeBlockBuffered = 0,
  kBufferingModeLineBuffered,
  kBufferingModeUnbuffered
}
 OutputStreamのバッファリングモードです。 [詳解]
 
- 基底クラス nn::nlib::OutputStream に属する継承限定公開メンバ関数
void ResetBuffer (void *p, size_t nbytes) noexcept
 OutputStreamが持つバッファを設定します。 [詳解]
 
void SetError (errno_t e) const noexcept
 OutputStreamにエラーを設定します。 [詳解]
 
- 基底クラス nn::nlib::OutputStream に属する継承限定公開変数類
BufferingMode m_BufferingMode
 バッファリングモードが格納されています。 [詳解]
 

詳解

ファイルの出力ストリームです。

説明
同期・シーケンシャルなアクセスのみをサポートします。 各環境のファイルAPIをラップしたクラスで、自らのバッファを持っています。
オブジェクトの状態遷移
オブジェクトの状態遷移の概略は以下のとおりです。
dot_inline_dotgraph_7.png

FileOutputStream.h34 行目に定義があります。

関数詳解

◆ FdOpen()

nn::nlib::FileOutputStream::FdOpen ( nlib_fd  fd)
noexcept

既にオープンされたファイルでFileOutputStreamを利用できるようにします。

引数
[in]fd既にオープンされたnlib_fd型の値
戻り値
成功した場合は0を返します。それ以外の場合はエラー
説明
Init()が事前に実行されていない場合は、内部でInit()を実行します。

◆ GetFd()

nn::nlib::FileOutputStream::GetFd ( ) const
inlinenoexcept

ファイルディスクリプタを返します。

戻り値
ファイルディスクリプタ

FileOutputStream.h63 行目に定義があります。

◆ Init()

nn::nlib::FileOutputStream::Init ( const FileOutputStreamSettings settings)
noexcept

動作オプションを指定して初期化を行います。成功した場合は0を返します。

引数
[in]settings動作オプション
戻り値
0成功した場合
EALREADY既に初期化済みの場合
ENOMEM内部でメモリ確保に失敗した場合
EINVAL動作オプションの指定が不正だった場合

◆ Open() [1/2]

nn::nlib::FileOutputStream::Open ( const char *  filename,
int  flags,
int  mode 
)
noexcept

ファイルを書き込み用でオープンします。

引数
[in]filenameファイルへのパス
[in]flagsnlib_fd_open()に渡すオープン用のフラグ(省略した場合はNLIB_FD_O_WRONLY | NLIB_FD_O_CREAT | NLIB_FD_O_TRUNC)
[in]modenlib_fd_open()に渡すアクセス許可引数(省略した場合は0644)
戻り値
成功した場合は0を返します。それ以外の場合はエラー
説明
Init()が事前に実行されていない場合は、内部でInit()を実行します。

◆ Open() [2/2]

nn::nlib::FileOutputStream::Open ( const wchar_t *  filename,
int  flags,
int  mode 
)
noexcept

ファイルを書き込み用でオープンします。

引数
[in]filenameファイルへのパス
[in]flagsnlib_fd_open()に渡すオープン用のフラグ(省略した場合はNLIB_FD_O_WRONLY | NLIB_FD_O_CREAT | NLIB_FD_O_TRUNC)
[in]modenlib_fd_open()に渡すアクセス許可引数(省略した場合は0644)
戻り値
成功した場合は0を返します。それ以外の場合はエラー
説明
Init()が事前に実行されていない場合は、内部でInit()を実行します。

このクラス詳解は次のファイルから抽出されました: