MATLAB Function Reference |
Syntax
Description
[count, errmsg] = fprintf(fid, format, A, ...)
formats the data in the real part of matrix A
(and in any additional matrix arguments) under control of the specified format
string, and writes it to the file associated with file identifier fid
. fprintf
returns a count of the number of bytes written. errmsg
is an optional output argument that returns an error message string if an error occurred, or an empty string if an error did not occur.
Argument fid
is an integer file identifier obtained from fopen
. (It can also be 1
for standard output (the screen) or 2
for standard error. See fopen
for more information.) Omitting fid
causes output to appear on the screen.
Format String
The format
argument is a string containing C language conversion specifications. A conversion specification controls the notation, alignment, significant digits, field width, and other aspects of output format. The format string can contain escape characters to represent nonprinting characters such as newline characters and tabs.
Conversion specifications begin with the %
character and contain these optional and required elements:
You specify these elements in the following order:
Flags
You can control the alignment of the output using any of these optional flags.
Field Width and Precision Specifications
You can control the width and precision of the output by including these options in the format string.
Conversion Characters
Conversion characters specify the notation of the output.
Conversion characters %o
, %u
, %x
, and %X
support subtype specifiers. See Remarks for more information.
This table lists the escape character sequences you use to specify nonprinting characters in a format specification.
Character |
Description |
\b |
Backspace |
\f |
Form feed |
\n |
New line |
\r |
Carriage return |
\t |
Horizontal tab |
\\ |
Backslash |
\'' or '' |
Single quotation mark |
%% |
Percent character |
Remarks
When writing text to a file on Windows, it is recommended that you open the file in write-text mode (e.g., fopen(file_id, 'wt')
). This ensures that lines in the file are terminated in such a way as to be compatible with all applications that might use the file.
The fprintf
function behaves like its ANSI C language namesake with these exceptions and extensions:
fprintf
to convert a MATLAB double into an integer, and the double contains a value that cannot be represented as an integer (for example, it contains a fraction), MATLAB ignores the specified conversion and outputs the value in exponential format. To successfully perform this conversion, use the fix
, floor
, ceil
, or round
functions to change the value in the double into a value that can be represented as an integer before passing it to sprintf
.
%o
, %u
, %x
, and %X
.fprintf
function is vectorized for nonscalar arguments. The function recycles the format string through the elements of A
(columnwise) until all the elements are used up. The function then continues in a similar manner through any additional matrix arguments.
Note
fprintf displays negative zero (-0 ) differently on some platforms, as shown in the following table.
|
Conversion Character | |||
Platform |
%e or %E |
%f |
%g or %G |
PC |
0.000000e+000 |
0.000000 |
0 |
Others |
-0.000000e+00 |
-0.000000 |
-0 |
Example 1
Create a text file called exp.txt
containing a short table of the exponential function. (On Windows platforms, it is recommended that you use fopen
with the mode set to 'wt'
to open a text file for writing.)
x = 0:.1:1; y = [x; exp(x)]; fid = fopen('exp.txt', 'wt'); fprintf(fid, '%6.2f %12.8f\n', y); fclose(fid)
Now examine the contents of exp.txt
:
Example 2
displays a line on the screen:
Example 3
To insert a single quotation mark in a string, use two single quotation marks together. For example,
Example 4
Example 5
Explicitly convert MATLAB double-precision variables to integer values for use with an integer conversion specifier. For instance, to convert signed 32-bit data to hexadecimal format,
See Also
fclose
, ferror
, fopen
, fread
, fscanf
, fseek
, ftell
, fwrite
, disp
References
[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 | frame2im |
© 1994-2005 The MathWorks, Inc.