I have the following code:
myFolder = 'D:\data';
myFiles = fullfile(myFolder,'*.txt');
allFiles = dir(myFiles);
for i = 1 : length(allFiles)
baseFilename = allFiles(i).name;
Filename = fullfile(myFolder,baseFilename,sprintf('%d%02d.txt',i));
fid = fopen(Filename);
A{i} = fscanf(fid, '%d %d %d');
fclose(fid);
end
I got an error 'invalid file identifier'. My Filename is incorrect. How should i write sprintf together with fullfile. My file names written as 0101,0102,...,6001,6002.txt.

 Akzeptierte Antwort

Honglei Chen
Honglei Chen am 13 Dez. 2017

1 Stimme

Might be because
sprintf('%d%02d.txt',i)
You specified two formats but only one input. Maybe one of them is not needed?
HTH

3 Kommentare

i try to use only
Filename = fullfile(myFolder,baseFilename);
but it can't read the file.I need to use sprintf actually..to read all the values as a string (in each file).
baseFilename already includes the .txt part . Just
Filename = fullfile(myFolder,baseFilename);
should work
milly edros
milly edros am 14 Dez. 2017
thank you very much to both of you..

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Filename Construction finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by