ドキュメンテーションヘルプ センター
最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。
バイナリ ファイルへのデータの書き込み
fwrite(fileID,A)
fwrite(fileID,A,precision)
fwrite(fileID,A,precision,skip)
fwrite(fileID,A,precision,skip,machinefmt)
count = fwrite(___)
例
fwrite(fileID,A) は、配列 A の要素を 8 ビット符号なし整数としてバイナリ ファイルに列順に書き込みます。バイナリ ファイルはファイル識別子 fileID で示されます。fopen を使用すると、このファイルを開いて fileID 値を取得できます。書き込みが終わったら、fclose(fileID) を呼び出してファイルを閉じます。
fileID
A
fopen
fclose(fileID)
fwrite(fileID,A,precision) は、A 内の値を precision で指定された形式とサイズで書き込みます。
precision
fwrite(fileID,A,precision,skip) は、各値を書き込む前に skip で指定されたバイト数またはビット数をスキップします。
skip
fwrite(fileID,A,precision,skip,machinefmt) は、さらにファイルに書き込むバイトまたはビットの順序を指定します。skip 引数はオプションです。
machinefmt
count = fwrite(___) は、関数 fwrite が問題なくファイルに書き込んだ A の要素の数を返します。この構文では、前述の構文の入力引数のいずれかを使用できます。
fwrite
すべて折りたたむ
nine.bin という名前のファイルを書き込み用に開きます。fopen を呼び出すときに 'w' を使用して書き込みアクセスを指定します。
nine.bin
'w'
fileID = fopen('nine.bin','w');
fopen はファイル識別子 fileID を返します。
1 ~ 9 の整数を 8 ビット符号なし整数として書き込みます。
fwrite(fileID,[1:9]);
ファイルを閉じます。
fclose(fileID);
magic5.bin という名前のファイルを書き込み用に開きます。
magic5.bin
fileID = fopen('magic5.bin','w');
5 行 5 列の魔方陣の 25 の要素を書き込みます。引数 precision で 'integer*4' を使用して 4 バイトの整数を書き込みます。
'integer*4'
fwrite(fileID,magic(5),'integer*4');
4 行 4 列の魔方陣の要素を含むバイナリ ファイルを書き込みます。倍精度浮動小数点数として格納します。
fileID = fopen('magic4.bin','w'); fwrite(fileID,magic(4),'double'); fclose(fileID);
ファイルへの追加が可能な書き込みアクセスでファイル magic4.bin を開きます。fopen を呼び出すときに、ファイル アクセス タイプ 'a' を指定します。
magic4.bin
'a'
fileID = fopen('magic4.bin','a');
4 行 4 列のゼロの行列をファイルに追加します。その後ファイルを閉じます。
fwrite(fileID,zeros(4),'double'); fclose(fileID);
ビッグエンディアン システムで使用する目的で、myfile.bin という名前のファイルに倍精度の乱数を書き込みます。fwrite を呼び出すときに machinefmt の値を 'ieee-be' に指定して、ビッグエンディアンのバイト順を指定します。
myfile.bin
'ieee-be'
fileID = fopen('myfile.bin','w'); fwrite(fileID,rand(4),'double','ieee-be'); fclose(fileID);
ファイル識別子。fopen で取得した整数、標準出力 (画面) である 1 または標準エラーである 2 で指定します。
1
2
書き込むデータ。数値、文字または string 配列として指定します。
fwrite は文字または string データの書き込みをサポートしますが、書き込みを行うと、予期しない動作になるため、推奨されません。
fwrite を使用して文字または string データを書き込む場合は、fopen を呼び出して読み取りまたは書き込み対象のファイルを開くときにテキスト エンコードを指定し、精度を char として指定します。
char
例: [1,2,3;4,5,6]
[1,2,3;4,5,6]
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string 複素数のサポート: あり
single
double
int8
int16
int32
int64
uint8
uint16
uint32
uint64
logical
string
'uint8'
書き込む値のクラスおよびビット単位のサイズ。精度の列内の文字ベクトルまたは string スカラーのいずれかとして指定します。
整数、符号なし
'uint'
32 (4)
8 (1)
'uint16'
16 (2)
'uint32'
'uint64'
64 (8)
'uchar'
'unsigned char'
'ushort'
'ulong'
'ubitn'
n
1 ≤ n ≤ 64
64
整数、符号付き
'int'
'int8'
'int16'
'int32'
'int64'
'integer*1'
'integer*2'
'integer*8'
'schar'
'signed char'
'short'
'long'
'bitn'
浮動小数点数
'single'
'double'
'float'
'float32'
'float64'
'real*4'
'real*8'
文字
'char*1'
'char'
MATLAB®char 型は固定サイズでなく、バイト数は、ファイルに関連付けられているエンコード スキームによって異なります。fopen を使用してエンコードを設定します。
bitn または ubitn の精度を指定した場合、fwrite は範囲外のすべての値を飽和させます。
bitn
ubitn
メモ
MATLAB で NaN および Inf 値を保持するには、double または single クラスのデータを読み取りおよび書き込みします。
NaN
Inf
各値を書き込む前にスキップするバイト数。スカラーで指定します。precision を bitn または ubitn に指定した場合、ビット内に skip を指定します。
引数 skip を使用すると、固定長レコード内の不連続なフィールドにデータを挿入できます。
'n'
'b'
'l'
's'
ファイル内にバイトを書き込む順序。次の表の文字ベクトルまたは string スカラーのいずれかとして指定します。bitn および ubitn の精度では、machinefmt はバイト内のビットを書き込む順序を指定しますが、バイトを書き込む順序はシステムのバイト順のままです。
'n' または 'native'
'native'
ご使用のシステムのバイト順 (既定)
'b' または 'ieee-be'
ビッグエンディアン順
'l' または 'ieee-le'
'ieee-le'
リトルエンディアン順
's' または 'ieee-be.l64'
'ieee-be.l64'
ビッグエンディアン順、64 ビット長データ型
'a' または 'ieee-le.l64'
'ieee-le.l64'
リトルエンディアン順、64 ビット長データ型
既定では、現在サポートされているすべてのプラットフォームは、新しいファイルにリトルエンディアン順を使用します。既存のバイナリ ファイルは、ビッグエンディアン順またはリトルエンディアン順のいずれも使用できます。
使用上の注意事項および制限事項:
精度引数は定数でなければなりません。
精度型の 'long'、'ulong'、'unsigned long'、'bitn'、'ubitn' はサポートされません。
'unsigned long'
マシン形式 (バイトを書き込む順序) の入力引数はサポートされません。
精度が int などの C の型である場合、その型のターゲットと量産サイズは以下でなければなりません。
int
一致する。
MATLAB 整数型に直接マッピングする。
char 型は符号付き 8 ビット整数として扱います。0 ~ 127 の値のみを使用できます。
ファイルに追加する場合や skip 引数を使用する場合は、C の実行時関数 fseek はファイルの末尾を越えて探索し、書き込まれていないバイトを 0 に初期化できなければなりません。この動作は、POSIX® および Windows® の動作と一致します。
fseek
fclose | ferror | fopen | fprintf | fread | fscanf | fseek | ftell
fclose
ferror
fprintf
fread
fscanf
ftell
この例の変更されたバージョンがシステム上にあります。代わりにこのバージョンを開きますか?
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office