fopen() in R2008 does not use variables?
Afficher commentaires plus anciens
I am trying to open a series of text files and I am getting the 'Invalid filename' error. This is the code:
[FName,PathName,FilterIndex] = uigetfile('C:\temp\matlab\data','MultiSelect','on');
% read in input file
% the input data is one col of floats in text
for f = 1:length(FName)
filename = strcat('C:\temp\matlab\data\', FName(f))
fid = fopen(filename,'rt');
data = fscanf(fid, '%f', 90000 );
fclose(fid);
....
This is what I get for filename:
filename =
'C:\temp\matlab\data\sample0.txt'
I did some debugging and I can open the files one by one if I put the string literal as the first argument to fopen().
Questions:
Does this function only take string literals in R2008?
If so, is there a workaround?
Using MATLAB Version 7.6.0.324 (R2008a)
Thanks,
Ed
Réponse acceptée
Plus de réponses (2)
Roshan Chavan
le 9 Oct 2019
Modifié(e) : Roshan Chavan
le 10 Oct 2019
FName(f) is a cell. Convert it to a character array by using char(Fname(f)).
[FName,PathName,FilterIndex] = uigetfile('C:\temp\matlab\data\','MultiSelect','on');
% read in input file
% the input data is one col of floats in text
for f = 1:length(FName)
fid = fopen(strcat(PathName,char(FName(f))),'rt');
data = fscanf(fid, '%f', 90000 );
fclose(fid);
....
Ed Seger
le 14 Oct 2019
0 votes
Catégories
En savoir plus sur Data Type Conversion dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!