クラス langedge::FileIO

ファイル入出力のラッパークラス. [詳細]

#include <fileio.hpp>

langedge::FileIOに対する継承グラフ

Inheritance graph
[凡例]
すべてのメンバ一覧

Public 型

enum  OpenMode {
  READ = 0,
  WRITE = 1,
  UPDATE = 2,
  APPEND = 4,
  TEXT = 8
}
 オープンモード. [詳細]

Public メソッド

 FileIO ()
 デフォルトコンストラクタ
virtual ~FileIO ()
 デストラクタ (ファイルクローズも行う)
virtual int open (const char *filename)
 ファイルのオープン -- 読み込み用 (C string なファイル名)
virtual int open (const std::string &filename)
 ファイルのオープン -- 読み込み用 (std::string なファイル名)
virtual int open (const char *filename, int mode)
 ファイルのオープン -- モード付き (C string なファイル名).
int open (const std::string &filename, int mode)
 ファイルのオープン -- モード付き (std::string なファイル名)
virtual int create (const char *filename)
 ファイルの作成 -- 書き込み用 (C string なファイル名).
virtual int create (const std::string &filename)
 ファイルの作成 -- 書き込み用 (std::string なファイル名)
void close ()
 ファイルのクローズ
bool isOpen () const
 ファイルがオープンされているか
bool isWritable () const
 ファイルは書き込み可能か
int changeOpenMode (bool writable)
 辞書のオープンモードを変更.
int get ()
 文字入力.
void put (int ch)
 文字出力.
size_t read (void *block, size_t size)
 ブロック入力.
size_t read (void *block, size_t elemsize, size_t elemnum)
 要素サイズ付きブロック入力.
size_t write (const void *block, size_t size)
 ブロック出力.
size_t write (const void *block, size_t elemsize, size_t elemnum)
 要素サイズ付きブロック出力.
off_t getFilePosition () const
 ファイルアクセス位置の取得.
void setFilePosition (off_t pos)
 ファイルアクセス位置の設定 (先頭からの絶対指定).
void setFilePositionRelative (off_t offset)
 ファイルアクセス位置の設定 (現在位置からの相対指定).
void setFilePositionAtEnd ()
 ファイルアクセス位置をファイルの終わりに設定.
void importFile (const char *filename)
 ファイルのインポート (C-string なファイル名).
void importFile (const std::string &filename)
 ファイルのインポート (std::string なファイル名)
const std::string & getFileName () const
 オープンされているファイル名を得る

Protected 変数

FILE * a_filePtr
 ファイルアクセス構造体へのポインタ
int a_mode
 オープンモード
std::string a_filename
 ファイル名

説明

ファイル入出力のラッパークラス.

fopen/fclose/fread/fwrite/fgets/fputs/fprintf/ftell/fseek など、 C標準ライブラリの入出力関数を使ってファイルアクセスをするための ラッパークラス。
FileIO は、ブロック指向の入出力のみをサポートする。行指向の入出力は、 FileIO から派生した FileInputFileOutput でサポートされる。


列挙型

enum langedge::FileIO::OpenMode
 

オープンモード.

TEXT は、他のモードとのビット和で指定する。

列挙型の値:
READ  ファイルを読み込み用にオープン
WRITE  ファイルを書き込み用に作成する。既存ファイルは長さ 0 になる
UPDATE  ファイルを読み書き用にオープンする。存在しなければ、作成される
APPEND  ファイルの追加書き込み用にオープンする
TEXT  テキストモードでオープンする


コンストラクタとデストラクタ

langedge::FileIO::FileIO  )  [inline]
 

デフォルトコンストラクタ

virtual langedge::FileIO::~FileIO  )  [inline, virtual]
 

デストラクタ (ファイルクローズも行う)


関数

virtual int langedge::FileIO::open const char *  filename  )  [inline, virtual]
 

ファイルのオープン -- 読み込み用 (C string なファイル名)

引数:
filename オープンするファイルのパス (C-string)
戻り値:
0 正常終了
-1 ファイルをオープンできなかった

langedge::FileOutput, langedge::FileAppend, langedge::FileUpdate, と langedge::TextFileOutputで再定義されています。

virtual int langedge::FileIO::open const std::string &  filename  )  [inline, virtual]
 

ファイルのオープン -- 読み込み用 (std::string なファイル名)

langedge::FileOutput, langedge::FileAppend, langedge::FileUpdate, と langedge::TextFileOutputで再定義されています。

virtual int langedge::FileIO::open const char *  filename,
int  mode
[inline, virtual]
 

ファイルのオープン -- モード付き (C string なファイル名).

引数:
filename オープンするファイルのパス名 (C-string)
mode オープンモード。 enum OpenMode の要素のビット和。
戻り値:
0 正常終了
-1 ファイルをオープンできなかった

int langedge::FileIO::open const std::string &  filename,
int  mode
[inline]
 

ファイルのオープン -- モード付き (std::string なファイル名)

virtual int langedge::FileIO::create const char *  filename  )  [inline, virtual]
 

ファイルの作成 -- 書き込み用 (C string なファイル名).

ファイルを書き込み用に作成する。既存ファイルは長さ 0 になる。

引数:
filename 作成するファイルのパス (C-string)
戻り値:
0 正常終了
-1 ファイルを作成できなかった

virtual int langedge::FileIO::create const std::string &  filename  )  [inline, virtual]
 

ファイルの作成 -- 書き込み用 (std::string なファイル名)

void langedge::FileIO::close  )  [inline]
 

ファイルのクローズ

bool langedge::FileIO::isOpen  )  const [inline]
 

ファイルがオープンされているか

bool langedge::FileIO::isWritable  )  const [inline]
 

ファイルは書き込み可能か

int langedge::FileIO::changeOpenMode bool  writable  )  [inline]
 

辞書のオープンモードを変更.

オープンしていた辞書のモードを readonly/readwrite に変更する。

引数:
writable true なら readwrite モードに、false なら readonly モードに変更
戻り値:
0 正常終了
-1 辞書がオープンされていない
例外:
FileIOError 処理中にエラーが発生した

int langedge::FileIO::get  )  [inline]
 

文字入力.

戻り値:
読み込んだ文字 (EOF なら -1)

void langedge::FileIO::put int  ch  )  [inline]
 

文字出力.

引数:
ch 書き出す文字
例外:
FileWriteError 書き出し時にエラーが発生した

size_t langedge::FileIO::read void *  block,
size_t  size
[inline]
 

ブロック入力.

引数:
block 読み込んだデータの格納先
size block の大きさ
戻り値:
読み込んだデータのバイトサイズ (0 なら EOF)
例外:
FileReadError 読み込み時にエラーが発生した

size_t langedge::FileIO::read void *  block,
size_t  elemsize,
size_t  elemnum
[inline]
 

要素サイズ付きブロック入力.

引数:
block 読み込んだデータの格納先
elemsize 1要素の大きさ
elemnum 読み込む要素の数
戻り値:
読み込んだデータの要素数 (0 なら EOF)
例外:
FileReadError 読み込み時にエラーが発生した

size_t langedge::FileIO::write const void *  block,
size_t  size
[inline]
 

ブロック出力.

引数:
block 書き出すデータブロック位置
size block の大きさ
戻り値:
書き出しだデータのバイトサイズ
例外:
FileWriteError 書き出し時にエラーが発生した

size_t langedge::FileIO::write const void *  block,
size_t  elemsize,
size_t  elemnum
[inline]
 

要素サイズ付きブロック出力.

引数:
block 書き出すデータブロック位置
elemsize 1要素の大きさ
elemnum 書き出す要素の数
戻り値:
書き出しだデータのバイトサイズ
例外:
FileWriteError 書き出し時にエラーが発生した

off_t langedge::FileIO::getFilePosition  )  const [inline]
 

ファイルアクセス位置の取得.

戻り値:
次のファイルアクセスが行われる位置を、 ファイルの先頭からバイトオフセットで返す
例外:
FileIOError 処理中にエラーが発生した

void langedge::FileIO::setFilePosition off_t  pos  )  [inline]
 

ファイルアクセス位置の設定 (先頭からの絶対指定).

引数:
pos 次のファイルアクセスが行われる位置を、 ファイル先頭からのバイトオフセットで指定する。
例外:
FileIOError 処理中にエラーが発生した

void langedge::FileIO::setFilePositionRelative off_t  offset  )  [inline]
 

ファイルアクセス位置の設定 (現在位置からの相対指定).

引数:
offset 次のファイルアクセスが行われる位置を、 現在位置からのバイトオフセットで指定する。
例外:
FileIOError 処理中にエラーが発生した

void langedge::FileIO::setFilePositionAtEnd  )  [inline]
 

ファイルアクセス位置をファイルの終わりに設定.

例外:
FileIOError 処理中にエラーが発生した

void langedge::FileIO::importFile const char *  filename  )  [inline]
 

ファイルのインポート (C-string なファイル名).

指定されたファイルの内容を、現在のファイルアクセス位置に取り込む

引数:
filename 読み込むファイル名

void langedge::FileIO::importFile const std::string &  filename  )  [inline]
 

ファイルのインポート (std::string なファイル名)

const std::string& langedge::FileIO::getFileName  )  const [inline]
 

オープンされているファイル名を得る


変数

FILE* langedge::FileIO::a_filePtr [protected]
 

ファイルアクセス構造体へのポインタ

int langedge::FileIO::a_mode [protected]
 

オープンモード

std::string langedge::FileIO::a_filename [protected]
 

ファイル名


このクラスの説明は次のファイルから生成されました:
LangEdge ライブラリに対してFri May 6 22:43:03 2005に生成されました。  doxygen 1.4.2