MATLAB Function Reference
  Go to function:
    Search    Help Desk 
fprintf    Examples   See Also

Write formatted data to file

Syntax

Description

count = 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.

Argument fid is an integer file identifier obtained from fopen. (It may also be 1 for standard output (the screen) or 2 for standard error. See fopen for more information.) Omitting fid from fprintf's argument list causes output to appear on the screen, and is the same as writing to standard output (fid = 1).

fprintf(format,A,...) writes to standard output, the screen.

The format string specifies notation, alignment, significant digits, field width, and other aspects of output format. It can contain ordinary alphanumeric characters, along with escape characters, conversion specifiers, and other characters, organized as shown below.


Remarks

The fprintf function behaves like its ANSI C language fprintf() namesake with certain exceptions and extensions, including:

These non-standard subtype specifiers are supported for conversion specifiers %o, %u, %x, and %X.
b
The underlying C data type is a double rather than an unsigned integer. For example, to print a double-precision value in hexadecimal, use a format like '%bx'.

t
The underlying C data type is a float rather than an unsigned integer.
When input matrix A is nonscalar, fprintf is vectorized.

The format string is cycled through the elements of A (columnwise) until all the elements are used up. It is then cycled in a similar manner, without reinitializing, through any additional matrix arguments.

The following tables describe the nonalphanumeric characters found in format specification strings.

Escape Characters

Character 
Description
\b
Backspace
\f
Form feed
\n
New line
\r
Carriage return
\t
Horizontal tab
\\
Backslash
\'' or ''
(two single quotes)
Single quotation mark
%%
Percent character

Conversion Specifiers

Conversion characters specify the notation of the output.

Specifier
Description
%c
Single character
%d
Decimal notation (signed)
%e
Exponential notation (using a lowercase e as in 3.1415e+00)
%E
Exponential notation (using an uppercase E as in 3.1415E+00)
%f
Fixed-point notation
%g
The more compact of %e or %f, as defined in [2]; insignificant zeros do not print
%G
Same as %g, but using an uppercase E
%o
Octal notation (unsigned)
%s
String of characters
%u
Decimal notation (unsigned)
%x
Hexadecimal notation (using lowercase letters a-f)
%X
Hexadecimal notation (using uppercase letters A-F)

Other Characters

Other characters can be inserted into the conversion specifier between the % and the conversion character.

Character
Description
Example
A minus sign (-)
Left-justifies the converted argument in its field.
%-5.2d
A plus sign (+)
Always prints a sign character (+ or -).
%+5.2d
Zero (0)
Pads with zeros rather than spaces.
%05.2d
Digits (field width)
A digit string that specifies the minimum number of digits to be printed.
%6f
Digits (precision)
A digit string including a period (.) that specifies the number of digits to be printed to the right of the decimal point.
%6.2f

For more information about format strings, refer to the printf() and fprintf() routines in the documents listed in "References".

Examples

The statements

create a text file called exp.txt containing a short table of the exponential function:

The command

displays a line on the screen:

To insert a single quotation mark in a string, use two single quotation marks together. For example,

displays on the screen:

The commands

display the lines:

Explicitly convert MATLAB double-precision variables to integral values for use with an integral conversion specifier. For instance, to convert signed 32-bit data to hexadecimal format:

See Also

fclose, ferror, fopen, fread, fscanf, fseek, ftell, fwrite

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.



[ Previous | Help Desk | Next ]