コンテンツにスキップ

FOPEN

Category: ファイル操作

書式

FOPEN(path, option)

引数

Parameter Description
path ファイル名。フルパス指定可能。相対パスの場合は DLL の load で渡された位置が基準となる
option ファイルをどのように開くかを指定する。下記の「モード」または「別名」の文字列を指定する

テキストアクセス

モード 別名 動作 ファイルがあるとき ファイルがないとき
"r" "read" テキスト読み出し 正常 エラー
"w" "write" テキスト書き込み サイズを 0 にする(上書き) 新規作成
"a" "append" テキスト追加書き込み 最後に追加する 新規作成

バイナリアクセス

モード 別名 動作 ファイルがあるとき ファイルがないとき
"rb" "read_binary" バイナリ読み出し 正常 エラー
"wb" "write_binary" バイナリ書き込み サイズを 0 にする(上書き) 新規作成
"ab" "write_binary_append" バイナリ追加書き込み 最後に追加する 新規作成

ランダムアクセス

モード 別名 動作 ファイルがあるとき ファイルがないとき
"r+" "read_random" テキスト読み書き 正常 エラー
"w+" "write_random" テキスト読み書き サイズを 0 にする(上書き) 新規作成
"a+" "append_random" テキスト読み書き 最後に追加する 新規作成
"rb+" "read_binary_random" バイナリ読み書き 正常 エラー
"wb+" "write_binary_random" バイナリ読み書き サイズを 0 にする(上書き) 新規作成
"ab+" "append_binary_random" バイナリ読み書き 最後に追加する 新規作成

戻り値

  • 1: 成功
  • 0: 失敗
  • 2: ファイルはすでに開いている

解説

ファイルをオープンする。

  • ファイルへの読み書きを行う前に、FOPEN でファイルをオープンする必要がある
  • テキストアクセスを行うときは、FOPEN の前に FCHARSET を実行することで、文字コードを変更できる
  • 要するに C 言語の fopen と同じ。YAYA 内の実装も C 言語の fopen である
  • テキストアクセスの場合、0x0d-0x0a の並び(CR-LF)は、読み込み前に単一の 0x0a に変換される。逆に、書き込み時は 0x0a が 0x0d-0x0a に変換される。また、0x1a は EOF として特別な意味を持つ
  • ランダムアクセスの際、ファイルの読み込み位置の指定は FSEEK で、位置の取得は FTELL でできる

互換性

  • YAYA: 初回リリースから利用可能(テキストアクセスのみ)
  • AYA: バージョン 5.8 以降(テキストアクセスのみ)
  • TC529-2: バイナリアクセス、ランダムアクセスを追加

関連項目