Re: [討論] 字串用法已回收
※ 引述《A1onso ( HOOT !)》之銘言:
: sprintf能將字串用loop方式顯示
: 這方面我成功了 比如 male1~10.wav
: 我用sprintf能將10個檔案在run一次的十個迴圈裡用wavread讀出來
: 問題來了 sprintf是不是沒有支援路徑?
: 我將sprintf裡面加了路徑都會出現
: Invalid escape sequence appears in format string.
: See help sprintf for valid escape sequences
: 雖然只要將wav檔抓到執行目錄下操作也可
: but 是否sprintf不能將路徑判定成字串?
: 有高手有解嗎?
: 存檔方面如果能將路徑加到字串裡會更省時些說..
sprintf 主要的功用應該是把你所要的變數寫成你要的格式
雖然它也可以做到你說的用迴圈改變字串
但是以你檔名都是整數的情況
用num2str直接把數字轉字串比較方便
兩種我都寫寫看
1. sprintf
假設你的路徑是 C:\matlab\work
for i=1:10
string = sprintf('C:\\matlab\\work\\male%i.wav',i)
end
所有反斜線都要兩個
不然他會以為你要輸入換行指令之類的
2. num2str
你要的東西其實只是字串
那就先把字串做好
檔名的數字用num2str把數字轉字串
最後再組起來
str1 = 'C:\matlab\work\male';
str2 = '.wav';
for i=1:10
string = [str1, num2str(i), str2]
end
兩種寫法結果是一樣的
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.250.19.139
→
11/30 15:54, , 1F
11/30 15:54, 1F
討論串 (同標題文章)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章