- Scilabヘルプ
- Files : Input/Output functions
- Directory
- Paths - Filenames
- copyfile
- deletefile
- dispfiles
- fileinfo
- findfiles
- fprintfMat
- fscanfMat
- getmd5
- getURL
- %io
- isfile
- listfiles
- listvarinfile
- mclearerr
- mclose
- mdelete
- meof
- merror
- mfprintf
- mscanf
- mget
- mgetl
- mgetstr
- mopen
- movefile
- mput
- mputl
- mputstr
- mseek
- mtell
- newest
- save_format
- scanf
- scanf_conversion
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
mput
指定したバイナリ形式でバイトまたはワードを書き込む
呼び出し手順
mput(x [, type, fd])
引数
- x
浮動小数点数または整数型の数値のベクトル
- fd
スカラー:
mopen
関数により返された ファイル記述子.-1
は,直近にオープンされたファイルを意味します. デフォルト値は-1
です.- type
文字列:
x
の全エントリを書き込む際に 使用されるバイナリ形式を指定.
説明
mput
関数は,
ストリームパラメータfd
で指定した出力先にデータを
を書き込みます.
データはポインタのカレントの位置に書き込まれ,
ポインタのインジケータは前に適当に前に移動されます.
type
パラメータは変換指定子で,
以下のフラグ文字(デフォルト値 "l"
)
のどれかを指定します:
- "l", "i", "s", "ul", "ui", "us", "d", "f", "c", "uc"
それぞれ long long, int (long int), short, unsigned long long int, unsigned int (long int), unsigned short, double, float, char, unsigned char を書き込みます. 書き込んだバイトは,(リトルインディアンモードで)マシンに 依存するバイナリファイルを出力するために (リトルインディアンステータスを確認することにより) 必要に応じて自動的にスワップされます. このデフォルトのスワップモードは,
mopen
関数に フラグswap = 0
を追加することにより抑制できます.- "..l" または "..b"
"l"
または"b"
文字をtype
指定子の末尾に追加することにより, リトルインディアンまたはビッグインディアンモードで書き込むことも可能です. 例えば,"db"
はビッグインディアンモードでdoubleを書き込みます.
例
filen = 'test.bin'; mopen(filen,'wb'); mput(1996,'l');mput(1996,'i');mput(1996,'s');mput(98,'c'); // force little-endian mput(1996,'ll');mput(1996,'il');mput(1996,'sl');mput(98,'cl'); // force big-endian mput(1996,'lb');mput(1996,'ib');mput(1996,'sb');mput(98,'cb'); mclose(); mopen(filen,'rb'); if 1996<>mget(1,'l') then pause,end if 1996<>mget(1,'i') then pause,end if 1996<>mget(1,'s') then pause,end if 98<>mget(1,'c') then pause,end // リトルインディアンを強制 if 1996<>mget(1,'ll') then pause,end if 1996<>mget(1,'il') then pause,end if 1996<>mget(1,'sl') then pause,end if 98<>mget(1,'cl') then pause,end // ビッグインディアンを強制 if 1996<>mget(1,'lb') then pause,end if 1996<>mget(1,'ib') then pause,end if 1996<>mget(1,'sb') then pause,end if 98<>mget(1,'cb') then pause,end mclose();
参照
- mclose — オープンされているファイルを閉じる
- meof — ファイルの終端に達したかどうかを確認する
- mfprintf — 変換,整形し,ファイルにデータを書き込む
- fprintfMat — 行列をファイルに書き込む
- mfscanf — 標準入力から入力を読み込む (C言語の scanf 関数へのインターフェイス)
- fscanfMat — テキストファイルから行列を読み込む
- mget — 指定したバイナリ形式で バイトまたはワードを読み込み, double に変換
- mgetl — アスキーファイルから行を読み込む
- mgetstr — ファイルから文字列を読み込む
- mopen — ファイルをオープン
- mprintf — 変換, 整形し, Scilab主ウインドウにデータを書き込む
- mputl — テキストファイルに文字列を書き込む
- mputstr — ファイルに文字列を書き込む
- mscanf
- mseek — バイナリファイルの中でカレントの位置を設定する.
- mtell — ファイル先頭基準でカレントバイトのオフセットを返す
- mdelete — ファイルを削除
Report an issue | ||
<< movefile | Files : Input/Output functions | mputl >> |