fwrite
Write data in binary form to the file specified by the file descriptor fid.
📝 Syntax
count = fwrite(fid, data)
count = fwrite(fid, data, precision)
count = fwrite(fid, data, precision, skip)
count = fwrite(fid, data, precision, skip, arch)
count = fwrite(fid, data, precision, arch)
[count, bytes] = fwrite(fid, ...)
📥 Input argument
fid - a file descriptor
data - data to write
precision - class of values to read
skip - number of bytes to skip
arch - a string specifying the data format for the file.
📤 Output argument
count - -1 or number of elements written
bytes - number of bytes written
📄 Description
Write data in binary form to the file specified by the file descriptor fid.
characters encoding uses fopen parameter.
supported architecture:
native , n: format of the current machine.
ieee-be, b: IEEE big endian.
ieee-le, l: IEEE little endian.
supported precision:
Logical
'logical'
platform-dependent
Floating-point numbers
'double', 'real*8', 'float64'
64 (8)
'single', 'real*4', 'float32'
32 (4)
Integers, signed
'int'
32 (4)
'int8', 'integer*1', 'schar'
8 (1)
'int16', 'integer*2'
16 (2)
'int32', 'integer*4'
32 (4)
'int64', 'integer*8'
64 (8)
Integers, unsigned
'uint8', 'uchar'
8 (1)
'uint16'
16 (2)
'uint32'
32 (4)
'uint64'
64 (8)
Characters
'char', '*char'
depends encoding with fopen.
'char*1'
depends encoding with fopen.
if fwrite fails, it returns a negative value.
iffwrite succeeds, it returns the number of elements written successfully.
iffwrite writes characters, it returns the number of characters written successfully and not the number of elements.
💡 Examples
A = rand(3,1)
fileID = fopen([tempdir(), 'doubledata.bin'],'w');
fwrite(fileID, A,'double');
fclose(fileID);
fileID = fopen([tempdir(), 'doubledata.bin'],'r');
R = fread(fileID, 'double')
fclose(fileID);
test_string = 'é ö ä ü è ê';
fid = fopen([tempdir(), 'fwrite_example_char.txt'], 'w','n', 'UTF-8');
[count, bytes] = fwrite(fid, test_string) % returns 11 and 17
fclose(fid);
% This is the number of characters written and not the number of bytes.
% Each accented character (é, ö, ä, ü, è, ê) = 2 bytes each
% Each space = 1 byte
% Total bytes = 6*2 + 5*1 = 17 bytes
🔗 See also
🕔 History
1.0.0
initial version
1.15.0
fwrite returns the number of characters written for character data.
Last updated
Was this helpful?