<< mscanf Files : Input/Output functions mgetl >>

Scilab Help >> Files : Input/Output functions > mget

mget

指定したバイナリ形式で バイトまたはワードを読み込み, double に変換

mgeti

指定したバイナリ形式で バイトまたはワードを読み込み, int型に変換

呼び出し手順

x = mget([n, type, fd])

x = mgeti([n, type, fd])

引数

n

正のスカラー: 読み込むデータの数.

fd

スカラー: mopenにより返されたファイル記述子. -1は直近にオープンされたファイルを意味します. デフォルト値は-1です.

type

文字列: xの全エントリを書き込むために使用する バイナリフォーマットを指定.

x

浮動小数点数または整数値のベクトル

説明

mget 関数は, ストリームパラメータfdにより指定された入力の データを読み込み,浮動小数点数データのベクトルを返します.

mgeti 関数は, ストリームパラメータfdにより指定された入力の データを読み込み,整数データのベクトルを返します.

ファイルポインタが現在指している場所からデータが読み込まれ, 適当にインジケータが進まされます.

typeパラメータは変換指定子で, 以下のフラグ文字のどれか (デフォルト値は"l")を設定できます:

Windowsにおけるデフォルトの動作では,バイト13 (0x0D)をスキップします. 'b'を指定してmopenを コールする必要があります. 例えば, 例外なく全てのバイトを読み込むには, fd1 = mopen(file1,'rb') とします.

データ型:

d

double

f

float

l

long

i

int

s

short

c

character

オプションのフラグ:

u..

符号なし (上記の型のどれかと組み合わせます)

..l

リトルインディアン (上記の型のどれかと組み合わせます)

..b

ビッグインディアン (上記の型のどれかと組み合わせます)

(little=endianステータスをチェックすることにより) 読み込まれたバイトは必要に応じて自動的にスワップされます.

このデフォルトのスワップ動作は mopen関数にフラグを追加することにより抑制することが できます.

フォーマット "l", "d" および "f" は, mget 関数でのみ有効です.

file1 = fullfile(TMPDIR,'test1.bin');
file2 = fullfile(TMPDIR,'test2.bin');
fd1=mopen(file1,'wb');
fd2=mopen(file2,'wb');
mput(1996,'ull',fd1);
mput(1996,'ull',fd2);
mclose(fd1);
mclose(fd2);
fd1=mopen(file1,'rb');
if 1996<>mget(1,'ull',fd1)
  write(%io(2),'Bug');
end

fd2=mopen(file2,'rb');
if 1996<>mget(1,'ull',fd2)
  write(%io(2),'Bug');
end

mclose(fd1);
mclose(fd2);

参照


Report an issue
<< mscanf Files : Input/Output functions mgetl >>