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

15 ビュー (過去 30 日間)
qrqr
qrqr 2019 年 2 月 15 日
回答済み: Etsuo Maeda 2019 年 2 月 18 日
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
宜しくお願いします。

採用された回答

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

その他の回答 (0 件)

製品


リリース

R2013b

Community Treasure Hunt

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

Start Hunting!