fopenの出力する数字について

13 views (last 30 days)
qrqr
qrqr on 15 Feb 2019
Answered: Etsuo Maeda on 18 Feb 2019
fopenを連続で行うと出力の数字が増えていくのはなぜですか?
fileは毎回同じパス名です。
連続して同じパスをfopenはしませんが気になったので質問しました。
以下がその時の入出力です。
fid = fopen(file)
fid =
7
fid = fopen(file)
fid =
8
fid = fopen(file)
fid =
9
fid = fopen(file)
fid =
10
fid = fopen(file)
fid =
11
宜しくお願いします。

Accepted Answer

Etsuo Maeda
Etsuo Maeda on 18 Feb 2019
同じファイルに対してfopen関数を実行した場合にfileIDの数字が増えるのは、fopen関数を実行するたびに異なるfileIDが割り振られているからです。
fopen関数の仕様では、fileIDはDouble型の整数になっています。
1と2は標準出力と標準エラー出力によって予約されているので、通常のfileIDは3以上の整数になっています。
なお、fopen関数によって開かれたすべてのfileIDを閉じるには、次の構文を使用します。
fclose('all')
また、OS側でいうところのfileIDは、例えばWindowsであれば、次の構文で確認することができます。
! fsutil file queryfileid <filename>
HTH

More Answers (0)

Products


Release

R2013b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!