How a Program Can Handle Multiple Output Files

FILES_MULTIPLE is a MATLAB program which demonstrates how a program can open multiple output files at one time, and write data to any one specific file it chooses.

To write data to a file, a MATLAB program needs a filename, an fopen() statement that assigns a unique unit number to that filename, and fprintf() statements that send data to the file identified by unit number.

To handle two or three files is easy, but to handle an arbitrary number of files requires a little planning.

Supposing we need "n" files, we can create a "template" filename with some zeros in it, like "file00.txt", and call a function like "filename_inc()" which, each time, will return a filename with the numeric text incremented by 1:



The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.


FILES_MULTIPLE is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

FILE_NAME_SEQUENCE, a MATLAB program which demonstrates ways to generate a sequence of filenames that can be used when generating images for an animation.

FILUM, a MATLAB library which can work with information in text files.

TABLE_IO, a MATLAB library which reads and writes table files.


  1. Jeanne Adams, Walter Brainerd, Jeanne Martin, Brian Smith, Jerrold Wagener,
    Fortran90 Handbook,
    Complete ANSI/ISO Reference,
    McGraw Hill, 1992,
    ISBN: 0-07-000406-4,
    LC: QA76.73.F28.F67.

Source Code:

test01() counts from 0 to 100. Each divisor of 2 is written to "divisor1.txt", each divisor of 3 is written to "divisor2.txt" and so on.

test02() watches a vector X, of length 100, as it changes 20 times.

You can go up one level to the MATLAB source codes.

Last revised on 01 December 2012.