ファイルアクセス関数

ファイルアクセス関数を使用することで,ファイル,フォルダを操作 することが出来ます.

操作できるフォルダとファイルは,キャラクターデータフォルダより 下層にあるもの,およびShareフォルダより下層にあるものに限りま す.情報保護の観点から,これら以外のフォルダおよびファイルに対 するアクセス権は与えられないため,操作できません.

キャラクターデータフォルダとは,キャラクターのdatフォルダを指 し,そのパスは「Chararinaのインストールフォルダ\ベンダー コード\キャラクター型番\dat」となります.

関数に指定したファイルパスは,キャラクターデータフォルダからの 相対パスに展開されます.Shareフォルダは"..\..\Share" と記述します."..\"は,1階層上のフォルダを意味しま す.

DelFolder
EnumFile
EnumFileClose
EnumFileStart
FileClose
FileCloseAll
FileCopy
FileDelete
FileExist
FileGetChar
FileGets
FileOpen
FilePutChar
FilePuts
FileRename
FileSeek
FileTell
FileUTime
FolderExists
MakeFolder

int DelFolder(   string folder )[1.50以降]

機能 フォルダを削除します.サブフォルダも再帰的に削除されます.
引数
folder 削除するフォルダの名前
戻り値
1成功
1以外失敗
説明

folder引数で指定されるフォルダを削除します. サブフォルダも再帰的に削除されます.

このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

string EnumFile(   int handle )[1.50以降]

機能 EnumFileStartで指定されたパスに該当するファイルを一つずつ取り出します.
引数
handleファイル列挙ハンドル
戻り値
ファイル名,またはNULL
説明

EnumFileStartで指定されたパスに該当するファイルを一つずつ取り出します.

handle引数にはEnumFileStartで得たファイル列挙ハンドルを指定します. 成功なら,EnumFileStartで指定されたpathに該当するファイル名を返します. 該当するファイルが無ければ,NULLを返します.

例1
localフォルダ内にある拡張子がlogのファイルの名前を全て取得し表示します.

int hdl;
string file;
hdl = EnumFileStart( "local\\*.log" );
file = EnumFile( hdl );
while( file != NULL ){
    Talk( file );
    Talk( "\n" );
    file = EnumFile( hdl );
}
EnumFileClose( hdl );
      
このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

int EnumFileClose(   int handle )[1.50以降]

機能 EnumFileStartで取得したファイル列挙ハンドルを解放します.
引数
handle ファイル列挙ハンドル
戻り値
1成功
0失敗
説明

EnumFileStartで取得したファイル列挙ハンドルを解放します. handle引数に解放したいファイル列挙ハンドルを指定します. 使用例はEnumFileを参照してください.

このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

int EnumFileStart(   string path )[1.50以降]

機能 フォルダ中に有るファイルを列挙する,ファイル列挙ハンドルを作成します.
引数
path ファイルパス
戻り値
0以上ファイル列挙ハンドル
-1失敗
説明

ファイル名を列挙するためのファイル列挙ハンドルを取得します. path引数に列挙するファイルのパスを指定します. ワイルドカードが使えます.

取得したファイル列挙ハンドルは EnumFile,EnumFileCloseで使用します. 使用例はEnumFileを参照してください.

このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

int FileClose(   int FH )

機能 ファイルをクローズします.
引数
FH ファイルハンドル(FileOpen関数で作成したハンドル)
戻り値
1成功
0失敗
説明

FH引数でで指定されたファイルハンドルでファイルをクローズします. 不正なファイルハンドルの場合は失敗します.

このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

int FileCloseAll( )

機能 すべてのオープン中ファイルをクローズします.
引数

なし

戻り値
-1クローズ処理に失敗
0以上クローズしたファイルの数
説明

オープン中のすべてのファイルをクローズします.

このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

int FileCopy(
  string src,
  string dst )
[1.50以降]

機能 ファイルの内容を別のファイルにコピーします.
引数
src コピー元ファイル名
dst コピー先ファイル名
戻り値
1成功
1以外失敗
説明

ファイルの内容を別のファイルにコピーします. src引数にコピー元ファイル名を, dst引数にコピー先ファイル名を指定します.

次の場合は失敗します.

  • src,dst引数にアクセス権のないファイルを指定した
  • dst引数に読み込み専用のファイルを指定した
  • src引数に存在しないファイルを指定した
  • ディスクにコピーに必要な空き容量が無い

このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

int FileDelete(   string fname )

機能 ファイルを削除します.
引数
fname 削除するファイル名
戻り値
1成功
0失敗
説明

fname引数で指定されたファイルを削除します. アクセス権の無いファイルは削除できません.

このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

int FileExist(   string fname )

機能 指定されたファイルの存在をチェックします.
引数
fname ファイル名
戻り値
0存在しない
1存在する
説明

fname引数で指定されたファイルの存在をチェックします.

このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

char FileGetChar(   int FH )

機能 ファイルから一文字読み込みします.
引数
FH ファイルハンドル(FileOpen関数で作成したハンドル)
戻り値
読み込んだ文字
説明

FHで指定されたファイルへ文字列strを読み込みます. 改行文字(CRLF)は改行コード0x0aに変換されます.

このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

string FileGets(   int FH )

機能 ファイルから一行読み込みます.
引数
FH ファイルハンドル(FileOpen関数で作成したハンドル)
戻り値
読み込んだ文字列 またはNULL
説明

FHで指定されたファイルから文字列を読み込み,その文字列を返します. 最後にアクセスした位置から,次の改行文字(CRLF)またはファイル終端までを読み込みます. 改行文字まで読み込んだ場合は,戻り値の最後に改行文字が付与されます.

関数を一回実行するごとに, ファイル内での「現在位置」が読み込んだ範囲の次の文字へ設定されます. 現在位置以降にデータが残っていない状態でFileGetsを実行すると, 戻り値はNULLになります.

このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

int FileOpen(
  string fname,
  string mode )

機能 ファイルをオープンし,そのファイルハンドルを返します.
引数
fname ファイル名
mode オープンモード
戻り値
0以上ファイルハンドル
-1オープンに失敗
説明

fname引数で指定されたファイル名のファイルをオープンし, そのファイルハンドルを返します. ファイルハンドルは, 他のファイル操作関数でファイルを指定するために必要です.

ファイル名はキャラクターデータフォルダから下層にあるファイルの相対パス指定に限られます. ドライブ名や\記号から始まる絶対パス, ".."による上向きの相対指定が含まれるパスが指定された場合はエラーを返します.

Ver.1.50からは,".."による上向きの相対指定も可能になりました. 但し,persona.exeと同じフォルダのファイルや, それより上のフォルダにはアクセスできません. また,plugin以下のフォルダにもアクセスできません.

mode引数には次の値を指定できます.

mode
"r" リードモード.読み込み限定モード. 書き込みを行うとエラーになる.
"w" ライトモード.ファイルが存在しなければ新設され, あればファイルの内容を消去して先頭から書き込む.
"a" アペンドモード.ファイルが存在しなければ新設され, あればファイルの終端に追加で書き込む.

このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

int FilePutChar(
  char c,
  int FH )

機能 ファイルへ一文字書き込みします.
引数
c 書き込む文字
FH ファイルハンドル(FileOpen関数で作成したハンドル)
戻り値
1成功
0失敗
説明

FHで指定されたファイルへ一文字書き込みします.

このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

int FilePuts(
  string str,
  int FH )

機能 ファイルへ文字列を書き込みます.
引数
str 書き込む文字列
FH ファイルハンドル(FileOpen関数で作成したハンドル)
戻り値
1成功
0失敗
説明

FHで指定されたファイルへ文字列strを書き込みます. str引数中の改行コード0x0aを改行文字(CRLF)に変換して書き込みます.

このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

int FileRename(
  string oldname,
  string newname )

機能 ファイルの名前を変更します.
引数
oldname 変更前のファイルの名前
newname 変更後のファイルの名前
戻り値
1成功
0失敗
説明

oldname引数で指定されるファイルの名前を, newname引数で指定される名前に変更します.

このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

int FileSeek(
  int FH,
  int offset,
  int mode )

機能 ファイルの現在位置をバイト数で指定して移動します.
引数
FH ファイルハンドル(FileOpen関数で作成したハンドル)
offset 移動量
mode 移動の起点の指定
戻り値
1成功
0失敗
説明

FileGets, FileGetCharなどで使用するファイルの現在位置を,バイト数でoffsetに指定して移動(変更)します. offsetが正の値ならファイルの終端方向に,負の値ならファイルの起点方向に移動します.

modeは移動の際の起点を指定します.

mode
0ファイルの先頭から
1現在位置から
2ファイルの終端から

このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

int FileTell(   int FH )

機能 ファイルの現在位置を返します.
引数
FH ファイルハンドル(FileOpen関数で作成したハンドル)
戻り値
先頭からのバイト数,または-1.
説明

ファイルの現在位置を,先頭からのバイト数で返します. 失敗した場合,-1を返します.

このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

int FileUTime(   string fname )

機能 指定されたファイルの最終更新時刻を返します.
引数
fname ファイル名
戻り値
最終更新時刻
説明

fname引数で指定された最終更新時刻を返します. 時刻は1970/1/1 00:00:00からの経過秒数であらわされます.

このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

boolean FolderExists(   string folder )[1.50以降]

機能 フォルダの存在をチェックします.
引数
folder フォルダ名
戻り値
trueフォルダが存在する
falseフォルダが存在しない,またはアクセス権がない
説明

folder引数で指定されたフォルダの存在をチェックします.

このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧

int MakeFolder(   string folder )[1.50以降]

機能 新しいフォルダを作成します.
引数
folder フォルダ名
戻り値
1成功
0失敗
説明

新しいフォルダを作成します. folderには,作成するフォルダの名前を指定します.

このカテゴリのトップ| カテゴリ別関数一覧| 関数名一覧