| MATLAB Function Reference | ![]() |
表示
count = fprintf(fid,format,A,...) fprintf(format,A,...)
詳細
count = fprintf(fid,format,A,...)
は、指定された文字列 format の制御下で、行列 A の実部データ(および、任意の追加的な行列引数内のデータ)を書式化し、識別子fid に関連するファイルに書き出します。fprintfは、書き出されたバイト数をカウントして出力します。
引数 fid は、fopenから得られる整数のファイル識別子です(標準出力(スクリーン)に対しては1、標準エラーに対しては 2 です。詳細については、fopen を参照してください)。 fprintf の引数リストからfidを省略すると、出力はスクリーン上に表示され、標準出力(fid= 1)への書き出しと同様になります。
fprintf(format,A,...)
は、標準出力、つまりスクリーン上へ書き出します。
文字列 format は、表記法、整列、有効桁、フィールド幅、その他の出力書式を指定します。通常、英数字、エスケープキャラクタ、変換指定子、その他のキャラクタを含んでおり、下記に示すように構成されます。

注意
関数 fprintf は、例外や拡張機能をもつ同名の ANSI C 言語の fprintf() と同様に機能します。
つぎのテーブルは、フォーマットの仕様を設定するノンパラメトリックなキャラクタを記述します。
エスケープキャラクタ
| キャラクタ |
詳細 |
|
バックスペース |
|
フォームフィード |
|
新しいライン |
|
キャレッジリターン |
|
水平タブ |
|
バックスラッシュ |
\'' or ''(two single quotes) |
シングルコートマーク |
%% |
パーセントキャラクタ |
変換指定子
他の特性
他のキャラクタを% と変換キャラクタの間の変換指定子の中に挿入できます。
書式指定文字列についての詳細は、参考文献 にリストされているドキュメント内のルーチン printf()、または、fprintf() を参照してください。
例題
x = 0:.1:1;
y = [x; exp(x)];
fid = fopen('exp.txt','w');
fprintf(fid,'%6.2f %12.8f\n',y);
fclose(fid)
は、指数関数の短い表を含んだ、exp.txtをいうテキストファイルを作成します。
0.00 1.00000000 0.10 1.10517092 ... 1.00 2.71828183
fprintf('A unit circle has circumference %g.\n',2*pi)
A unit circle has circumference 6.283186.
文字列にシングルコートを挿入するためには、2つのシングルコートを使ってください。たとえば、
fprintf(1,'It''sFriday.\n')
It'sFriday.
B = [8.8 7.7; 8800 7700] fprintf(1,'X is %6.2f meters or %8.3f mm\n',9.9,9900,B)
X is 9.90 meters or 9900.000 mm X is 8.80 meters or 8800.000 mm X is 7.70 meters or 7700.000 mm
明示的に、整数変換指定子を使って、MATLABの倍精度変数を整数値に変換します。たとえば、符号付き32ビットデータを 16進書式に変換します。
a = [6 10 14 44];
fprintf('%9X\n',a + (a<0)*2^32)
6
A
E
2C
参考
fclose, ferror, fopen, fread, fscanf, fseek, ftell, fwrite
参考文献
[1] Kernighan, B.W. and D.M. Ritchie, The C Programming Language, Second Edition, Prentice-Hall, Inc., 1988.
[2] ANSI specification X3.159-1989: "Programming Language C," ANSI, 1430 Broadway, New York, NY 10018.
| fplot | fprintf (serial) | ![]() |