Open an "array" of filenames

3 Ansichten (letzte 30 Tage)
Alexander Horton
Alexander Horton am 9 Jan. 2023
Bearbeitet: VBBV am 10 Jan. 2023
I have a need to open a variable number of files for output. Code later in the program will be conditionally writing data to these files. I wanted to be able to open these files in advance, instead of having to open and close them as each line is written resulting in a lot of opens and closes. I can't see a way to do this. I tried settign the filehandle as an array but that doesnt' work or I did it wrong e.g.
for i=1:totalfilesneeded
fhandle(i) = fopen(['OutputFile,i], 'w+');
end
Any way to programatically open several files and save their indexed handle names?
And, if possible, whats the limit on open files?

Antworten (1)

VBBV
VBBV am 10 Jan. 2023
Bearbeitet: VBBV am 10 Jan. 2023
Its possible to open multiple files as you intend. Use the sprintf function to open individual filenames identified using an integer, as shown below
for i=1:totalfilesneeded
fhandle(i) = fopen(sprintf('OutputFile%d.txt',i), 'w+'); % a suitable file extension
end

Kategorien

Mehr zu Low-Level File I/O finden Sie in Help Center und File Exchange

Tags

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by