How to specify path name in sprintf?

I have a folder specified by the path D:\BTP\0 (1)\0 . This contains wave file ranging from 0 to 59 and I need to read each of them using the command
for m=0:59
filename = sprintf('%d.wav',m);
[s,fs] = audioread(filename);
end
I need to specify file name inside sprintf command. How do I do so?

 Accepted Answer

Domanic
Domanic on 28 Jan 2018
Edited: Domanic on 28 Jan 2018
You can do this through string concatenation:
mypath = 'D:\BTP\0 (1)\';
for m=0:59
filename = [mypath num2str(m) '.wav'];
[s,fs] = audioread(filename);
end
If it needs to be inside sprintf, you can use:
mypath = 'D:\\BTP\\0 (1)\\';
filename = sprintf([mypath '%d.wav'],m);
where the double slash, \\, generates the single \ in this context.

4 Comments

Thank You man. Got it done.
With sprintf:
mypath = 'D:\BTP\0 (1)\';
filename = sprintf('%s%d.wav', mypath, m);
However I recommend instead
mypath = fullfile('D:', 'BTP', '0 (1)');
filename = fullfile(mypath, sprintf('%d.wav', m));
I also wanted to ask one more: I have wave files with names like:
00 01 02 03 04 .... and so on till 59. How do I read them using sprintf? The first digit of the filename specifies speaker id and the second digit specifies utterence id .
filename = fullfile(mypath, sprintf('%02d.wav', m));

Sign in to comment.

More Answers (0)

Categories

Find more on MATLAB Coder in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!