Open an "array" of filenames
4 ビュー (過去 30 日間)
古いコメントを表示
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?
0 件のコメント
回答 (1 件)
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
0 件のコメント
参考
カテゴリ
Help Center および File 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!