Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - Русский
Scilabヘルプ >> Input/Output functions > file

file

ファイル管理

呼び出し手順

[unit, err] = file("open", file-name [,status] [,access [,recl]] [,format])
file("close", unit)
file("rewind", unit)
file("backspace", unit)
file("last", unit)
[units, typ, nams, mod, swap] = file()
[units, typ, nams, mod, swap] = file(unit)

パラメータ

file-name

文字列, オープンするファイルのファイル名

この関数は、ASCII以外のUTF文字(アクセント付きなど)を含むパスまたは名前のファイルを開くことはできません. この場合,mopenを使用してください.
status

文字列, オープンするファイルのステータス

"new"

ファイルは存在せず新規ファイル (デフォルト)

"old"

ファイルは既存.

"unknown"

unknown status

"scratch"

ファイルはセッション終了時に削除されます

access

文字列, ファイルへのアクセス形式

"sequential"

連続アクセス (デフォルト)

"direct"

直接アクセス.

format

文字列,

"formatted"

フォーマットされたファイル (デフォルト)

"unformatted"

バイナリレコード.

recl

整数, access="direct"の時, レコードの大きさ(単位:バイト)

unit

整数, オープンされたファイルの論理ユニット記述子

units

整数ベクトル, オープンされたファイルの論理ユニット記述子. ユニット 5 および 6 (%io) は入出力デバイスの システムにより保存されます.

typs

文字列ベクトル, オープンするファイルの型 (C または Fortran).

nams

文字列ベクトル, オープンするファイルのパス名.

mod

ファイルをオープンするモード. 3桁 abc により構成.

Fortranファイル
a 0 は整形済み, 1 は未整形(バイナリ)を意味します
b 0 は連続アクセス, 1 は直接アクセスを意味します
c 0 は "new", 1 は "old", 2 は "scratch" および 3 は "unknown"を意味します
Cファイル
a 1は "r" (読み込み)を意味し, 2 は "w" (書き込み) そして 3 は "a" (追加)を意味します
b ファイルが "+" (更新)モードでオープンされている場合に 1
c ファイルが "b" (バイナリ)モードで オープンされている場合に 1
swap

自動スワップの切替スイッチ. 自動スワップがオンの場合に swap=1. Fortranファイルの場合,swapは常に0となります.

err

整数, オープンに失敗した場合は, エラーメッセージ番号. err が省略された場合,エラーメッセージが発行されます.

65File already used
66Too many files opened!
67Unknown file format
240 The file already exists or directory write access denied.
241The file does not exist or read access denied.
action

以下の文字列のどれかとなります:

"close"

unitsで指定された 論理ユニット記述子により指定されたファイルを閉じます

"rewind"

ファイルの先頭にポインタを置きます

"backspace"

ポインタを最後のレコードの先頭に置きます

"last"

ポインタを最後のレコードの後に置きます.

説明

論理ユニットunitを選択し, ファイルfile-nameを管理します.

[unit [,err]]=file('open', file-name [,status] [,access [,recl]][,format]) により プロパティを指定してファイルをオープンし, ユニット番号unitに関連付けることができます. このユニット番号は,この後,このファイルに関する処理や read, write, readb, writb,save, load 関数コールにおいてファイル記述子と同様に使用することができます.

file(action,unit) により,ファイルを閉じたり, カレントのファイルポインタを移動することができます.

file() は オープンされたファイルの論理ユニット記述子を返します.この場合, file('close',file() ) は ユーザにオープンされたファイル(CまたはFortran型)を全て閉じます.

To test whether a file #id is opened, file(id)~=[] may be used.

u=file('open',TMPDIR+'/foo','unknown')
for k=1:4
  a=rand(1,4)
  write(u,a)
end
file('rewind',u)
x=read(u,2,4)
file('close',u)
//
u1=file('open',TMPDIR+'/foo','unknown')
u2=mopen(TMPDIR+'/foo1','wb')
[units,typs,nams]=file()
file('close',u1);
mclose(u2);

参照

  • isfile — 引数が既存のファイルかどうか調べる
  • read — 行列を読み込む
  • readb — fortranファイルバイナリの読み込み
  • write — フォーマットされたファイルに書き込む
  • writb — fortranファイルへのバイナリ形式の書き込み
  • mopen — ファイルをオープン
  • save — Saves some chosen variables in a binary data file
  • load — Loads some archived variables, a saved graphic figure, a library of functions
  • uigetfile — ファイル,名前,パス,フィルタ添字取得用のダイアログウインドウ

履歴

バージョン記述
6.0.0 stderr is inserted in the output of file() as units(1)=0, typ(1)="STD" and nams(1)="stderr".
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Feb 14 15:02:14 CET 2019