Open an "array" of filenames

3 visualizzazioni (ultimi 30 giorni)
Alexander Horton
Alexander Horton il 9 Gen 2023
Modificato: VBBV il 10 Gen 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?

Risposte (1)

VBBV
VBBV il 10 Gen 2023
Modificato: VBBV il 10 Gen 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

Tag

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by