我想讀取包含後綴的未定義數量的字符串,全部由;
sscanf的解析格式的字符串
例1分離:«.TXT; .JPG; png格式»
例2 :«.TXT; .ods檔案; _music.mp3; .mjpeg; .ext1; .ext2»
我browsed the web並寫了一段代碼,不工作:
char *suffix[MAX]; /* will containt pointers to the different suffixes */
for (i = 0; i < MAX ; i++)
{
suffix[i] = NULL;
if (suffix_str && sscanf(suffix_str,"%[^;];%[^\n]",suffix[i],suffix_str) < 1)
suffix_str = NULL;
}
第一次迭代後,sscanf
的結果爲0.爲什麼它沒有讀取字符串的內容?
如何解析一個包含未定義數量元素的字符串? sscanf
是不錯的選擇?
'suffix'變量應該是什麼? – 2015-02-10 08:22:53
爲什麼不用它分割而不是['strtok'](http://en.cppreference.com/w/c/string/byte/strtok)? – 2015-02-10 08:23:48
'char * suffix [MAX]'是指向不同後綴的'char *'數組,當沒有更多後綴時,它們就是NULL。整個字符串在循環後被解析,以'\ 0'代替';'。 – Jav 2015-02-10 08:25:05