Filter löschen
Filter löschen

Introducing element * in sprintf()

1 Ansicht (letzte 30 Tage)
Dimitris M
Dimitris M am 19 Jul. 2012
Hello
I am trying to introduce the element * to the function sprintf in MATLAB.
My code look like this
ss=sprintf('%s//Segments//Image_TrueColor_%d',Pathname,*)
I could set the code to read in the names of the files at the point of the unknow number name but is it possible just to introduce the * (select all) command ?
Thank you in advance

Antworten (1)

Walter Roberson
Walter Roberson am 19 Jul. 2012
That is not really a question about sprintf(), that is a question about the routine that you are using the resulting string. sprintf() just does string creation based upon the parameters passed to it, and it has no knowledge of files.
prefix = fullfile(Pathname, 'Segments');
fileinfo = fullfile( prefix, 'Image_TrueColor_*' );
filenames = strcat( prefix, {fileinfo.name} );
The result would be cell array of strings, one (complete) file name per entry.
For most operations you would then need to loop over those file names. Very few of the routines can operate on multiple files at the same time.
  2 Kommentare
Dimitris M
Dimitris M am 19 Jul. 2012
Hello
Thank you for your guidance but maybe my question was not very clear. The '*' is supposed to be a number that I do not know.
Your code works fine up to the point of
fileinfo = fullfile( prefix, 'Image_TrueColor_*' );
The things is that is should read something like
'Image_TrueColor_10' but it reads 'Image_TrueColor_*' which does not exist.
MATLAB returns
Attempt to reference field of non-structure array.
Can you guide me from this point ?
Thank you in advance !
Walter Roberson
Walter Roberson am 19 Jul. 2012
Sorry, should have been
fileinfo = dir( fullfile( prefix, 'Image_TrueColor_*' ) );

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu File Name Construction finden Sie in Help 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