Open an "array" of filenames

3 次查看(过去 30 天)
Alexander Horton
Alexander Horton 2023-1-9
编辑: VBBV 2023-1-10
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?

回答(1 个)

VBBV
VBBV 2023-1-10
编辑:VBBV 2023-1-10
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

类别

Help CenterFile Exchange 中查找有关 Low-Level File I/O 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by