MATLAB Function Reference | ![]() ![]() |
ファイルをオープンしたり、オープンしているファイルに関する情報を得ます。
表示
fid = fopen(filename) fid = fopen(filename,permission) [fid,message] = fopen(filename,permission,format) fids = fopen('all') [filename,permission, format] = fopen(fid)
詳細
fid = fopen(filename)
は、ファイル filename
を読むために、オープンします(PC 上で、fopen
は、バイナリリードアクセスのためにファイルをオープンします)。
filename
は、MATLABPATH
相対部分パス名でも構いません。ファイルが、読み取り用にオープンされていて、カレントワーキングディレクトリ内に発見できない場合、fopen
は、下位の MATLAB サーチパスを探索します。
fid
は、スカラ MATLAB 整数で、ファイル識別子と言われます。fid
は、他のファイル入力/出力ルーチンに最初の引数として使用します。fopen
がファイルをオープンできない場合、-1
が戻ります。
fid = fopen(filename,permission)
は、permission
で指定したモードで、ファイル filename
をオープンします。permission
には、つぎの値を設定することができます。
ファイルは、バイナリモード、または、テキストモードのいずれかでオープンされます。テキストモードで、fopen
は、入力上でラインセパレータを削除し、出力用にそれを加えます。バイナリモードでは、ラインセパレータは、削除されず、また付加もされません。
fopen
は、デフォルトは、バイナリモードでファイルをオープンします。しかし、パミッション文字列のいずれかに 'b'
を付加することで、バイナリモードを指定することができます。たとえば、バイナリリードアクセス用にファイルをオープンするには、'rb'
を指定します。テキストモードで、ファイルをオープンするには、パミッション文字列に 't'
を付加します。たとえば、'rt'
です。PC 上では、テキストとバイナリを区別する必要があります。UNIX システムでは、テキストとバイナリを区別する必要がありません。
[fid,message] = fopen(filename,permission)
は、上で記述したようにファイルをオープンします。ファイルをオープンできない場合、fid
は、-1
になり、message
は、システムに依存したエラーメッセージを含んでいます。fopen
が、ファイルのオープンに成功すると、message
は、空になります。
[fid,message] = fopen(filename,permission,format)
は、上で記述したようにファイルをオープンします。format
は、fread
を使って、ファイルから読み込んだデータの数値フォーマットを定義する文字列であるか、または、fwrite
を使って、ファイルに書き込んだデータの数値フォーマットを定義する文字列です。format
には、つぎのいずれかの値を使用できます。
引数 format
を省略すると、fread
、または、fwrite
は、ローカルマシンの数値フォーマットを使います。fread
、または、fwrite
をコールするとき、fopen
へのコールで指定した数値フォーマットを書き換えることができます。
fids = fopen('all')
は、すべてのオープンしているファイルのファイル識別子を含む行ベクトルを戻します。しかし、その中には、(標準出力と標準エラーをそれぞれ示す)1
と 2
を含んではいません。
ベクトルの中の要素数は、オープンしているファイルの数と同じです。
[filename,permission,format] = fopen(fid)
は、指定したファイルに関連したフルファイル名filename
や permission
、format
を出力します。正しくない fid
は、すべての出力引数に対して、空文字列を出力します。permission
と format
は、共にオプションです。
2つの fid
は、前もって定義され、明示的に、オープンやクローズできません。
1 |
標準出力。これは、付加作業用に常にオープンしています(permission を 'a' に設定)。 |
2 |
標準誤差、これは、付加作業用に常にオープンしています。
(permission を 'a' に設定)。 |
例題
例題は、fopen
を使って、ファイルをオープンし、fopen
により戻されるfid
をファイルからデータを読む他のファイル I/O 関数に渡し、そして、ファイルをクローズします。
fid=fopen('fgetl.m'); while 1 tline = fgetl(fid); if ~ischar(tline), break, end disp(tline) end fclose(fid);
参考
fclose
, ferror
, fprintf
, fread
, fscanf
, fseek
, ftell
, fwrite
![]() | fminsearch | fopen (serial) | ![]() |