sscanf相關用法

2021-10-04 08:15:26 字數 1887 閱讀 4239

sscanf的作用:

從乙個字串中讀進於指定格式相符的資料。利用它可以從字串中取出整數、浮點數和字串。

sscanf和scanf的區別:

scanf是以鍵盤作為輸入源,sscanf是以字串作為輸入源。

int sscanf(const char *str, const char *format,…);

sscanf()會將引數str的字串根據引數format字串來轉換格式並格式化資料。轉換後的結果存於對應的引數內。成功則返回引數數目,失敗則返回0。利用它可以從字串中取出整數、浮點數和字串等等。它的使用方法簡單,特別對於整數和浮點數來說。

1、取指定長度的字串。如在下例中,取最大長度為4位元組的字串。

char str[

100]

;sscanf

("123456"

,"%4s"

,str)

;printf

("str=%s\n"

,str)

;

輸出結果:

str=

1234

2、 取到指定字元為止的字串。如在下例中,取遇到空格為止字串。

sscanf

("1234 56abcdedf"

,"%[^ ]"

,str)

;printf

("str=%s"

,str)

;

輸出:

str=

1234

3、取到指定字符集為止的字串。如遇到小寫字母為止的字串。

sscanf

("1234+abc1234"

,"%[^a-z]"

,str)

;

輸出:

str=

1234

+

4、取僅包含指定字符集的字串。(取僅包含數字和小寫字母的字串,是取得連續的字串)。

sscanf

("1234abcadefbfr0"

,"%[a-z1-9]"

,str)

;

輸出:

str=

1234abc

5、給定乙個字串iios/12ddwdff@122,獲取 / 和 @ 之間的字串,先將 "iios/"過濾掉,再將非』@'的一串內容送到buf中

sscanf

("iios/12ddwdff@122"

,"%*[^/]/%[^@]"

, buf)

;printf

("%s\n"

, buf)

;

結果為:

12ddwdff
6、分隔字串

int a,b,c;

sscanf

("2020:03:24"

,"%d:%d:%d"

,&a,

&b,&c)

;cout<" "<" "<

2020

324

sscanf 函式用法

read formatted data from a string.intsscanf constchar buffer,constchar format argument intswscanf constwchar t buffer,constwchar t format argument a f...

SSCANF用法詳解

名稱 sscanf 從乙個字串中讀進與指定格式相符的資料.int sscanf const char const char int scanf const char include sscanf與scanf類似,都是用於輸入的,只是後者以鍵盤 stdin 為輸入源,前者以固定字串為輸入源。第乙個引數...

sscanf用法整理

部落格內容系網路整理。函式原型 int sscanf const char buffer,const char format,argument 引數 buffer 儲存的資料 format 格式控制字串 argument 選擇性設定字串 sscanf會從buffer裡讀進資料,依照argument的...