MATLAB Function Reference    
fprintf

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 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 non-printing 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.

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)
Pad with zeros rather than spaces.
%05.2d

Field Width and Precision Specifications

You can control the width and precision of the output by including these options in the format string.

Character
Description
Example
Field width
A digit string specifying the minimum number of digits to be printed.
%6f
Precision
A digit string including a period (.) specifying the number of digits to be printed to the right of the decimal point.
%6.2f

Conversion Characters

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
%i
Decimal notation (signed)
%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)

Conversion characters %o, %u, %x, and %X support subtype specifiers. See Remarks for more information.

Escape Characters

This table lists the escape character sequences you use to specify non-printing characters in a format specification.

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

Remarks

The fprintf function behaves like its ANSI C language namesake with these exceptions and extensions.


Conversion Character
Platform
%e or %E
%f
%g or %G
PC
0.000000e+000
0.000000
0
SGI
0.000000e+00
0.000000
0
HP700
-0.000000e+00
-0.000000
0
Others
-0.000000e+00
-0.000000
-0

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, 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 fprintf (serial)