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

Write binary data to a file

Syntax

Description

count = fwrite(fid,A,precision) writes the elements of matrix A to the specified file, translating MATLAB values to the specified numeric precision. (See "Remarks" for more information.)

The data are written to the file in column order, and a count is kept of the number of elements written successfully. Argument fid is an integer file identifier obtained from fopen.

count = fwrite(fid,A,precision,skip) includes an optional skip argument that specifies the number of bytes to skip before each precision value is written. With the skip argument present, fwrite skips and writes one value, skips and writes another value, etc. until all of A is written. This is useful for inserting data into noncontiguous fields in fixed-length records. If precision is a bit format like 'bitN' or 'ubitN', skip is specified in bits.

Remarks

Numeric precisions can differ depending on how numbers are represented in your computer's architecture, as well as by the type of compiler used to produce executable code for your computer.

The tables below give C-compliant, platform-independent numeric precision string formats that you should use whenever you want your code to be portable.

For convenience, MATLAB accepts some C and Fortran data type equivalents for the MATLAB precisions listed. If you are a C or Fortran programmer, you may find it more convenient to use the names of the data types in the language with which you are most familiar.

MATLAB
C or Fortran
Interpretation
'char'
'char*1'
Character; 8 bits
'schar'
'signed char'
Signed character; 8 bits
'uchar'
'unsigned char'
Unsigned character; 8 bits
'int8'
'integer*1'
Integer; 8 bits
'int16'
'integer*2'
Integer; 16 bits
'int32'
'integer*4'
Integer; 32 bits
'int64'
'integer*8'
Integer; 64 bits
'uint8'
'integer*1'
Unsigned integer; 8 bits
'uint16'
'integer*2'
Unsigned integer; 16 bits
'uint32'
'integer*4'
Unsigned integer; 32 bits
'uint64'
'integer*8'
Unsigned integer; 64 bits
'float32'
'real*4'
Floating-point; 32 bits
'float64'
'real*8'
Floating-point; 64 bits

If you always work on the same platform and don't care about portability, these platform-dependent numeric precision string formats are also available:

MATLAB
C or Fortran
Interpretation
'short'
'short'
Integer; 16 bits
'int'
'int'
Integer; 32 bits
'long'
'long'
Integer; 32 or 64 bits
'ushort'
'usigned short'
Unsigned integer; 16 bits
'uint'
'unsigned int'
Unsigned integer; 32 bits
'ulong'
'unsigned long'
Unsigned integer; 32 or 64 bits
'float'
'float'
Floating-point; 32 bits
'double'
'double'
Floating-point; 64 bits

Two formats map to an input steam of bits rather than bytes:

MATLAB
C or Fortran
Interpretation
'bitN'

Signed integer; N bits (1 N 64)
'ubitN'

Unsigned integer; N bits (1 N 64)

Examples

creates a 100-byte binary file, containing the 25 elements of the 5-by-5 magic square, stored as 4-byte integers.

See Also

fclose      Close one or more open files

ferror      Query MATLAB about errors in file input or output

fopen       Open a file or obtain information about open files

fprintf     Write formatted data to file

fread       Read binary data from file

fscanf      Read formatted data from file

fseek       Set file position indicator

ftell       Get file position indicator



[ Previous | Help Desk | Next ]