工作中遇到的C中Sscanf 函數的用法詳解

1 首先,看到sscanf時,會想到scanf,唯一不同的是前者是以固定的字符串爲輸入源;後者是以屏幕爲輸入源。

2 sscanf函數的定義爲 int  sscanf(const char *str,const char * format,.......);函數說明,將參數str的字符串根據format字符串來格式化數據,轉化後的結果存在於對應得函數參數內。  返回值爲參數數目,返回0表示失敗。

3 sscanf函數和正則式結合使用。想

4舉例使用:

(1)sscanf("waascfg-aaa","%5s",str); 取指定長度的字符串,str="waasc”

(2)sscanf("waascfg-aaa","%[^-]",str);取“-”之前的字符串,str=“waascfg”

(3)sscanf("waascfg-aaa$","%[^-]",str);取“-”之後和“$”之間的字符串,str=“aaa”

(4)sscanf("waascfg, aaa","%[^ ]",str);取到指定字符爲止的字符串,取遇到空格爲止的字符串,str=“waascfg”

(5)sscanf("waascfg, aaa","%*s%s",str); 其中 %*s 表示第一個被匹配到的字符串waascfg被忽略掉了,取出空格後的字符串,既str=“aaa”。如果沒有中間的空格,會返回空。

關於正則表達式: 1> %[..]當字符屬於方括號裏表達式表示的字符集繼續讀取,否則停止;方括號裏時正則表示式,^是“忽略........”的意思。

2> %*[..]直接忽略方括號裏字符集並繼續讀取

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章