sscanf的簡單應用

2021-10-03 12:47:48 字數 1198 閱讀 8578

最近做wifi模組聯網獲取資料,期間用到一下模組返回的字串資料要處理,搜了一下找到sscanf這個函式,用起來很方便。

sscanf是stdio.h的函式,用於格式化字串並輸出,下面記錄下應用方法,方便以後

1. 常見用法。

charstr[512]=;

sscanf("123456","%s",str);

printf("str=%s",str); //輸出123456

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

sscanf("123456","%4s",str);

printf("str=%s",str); //輸出1234

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

sscanf("123456abcdedf","%[^ ]",str);

printf("str=%s",str);//輸出123456abcdedf

如果是這樣,在字串中間加乙個空格,輸出只會輸出1234,到空格的位置停止輸出

sscanf("1234 56abcdedf","%[^ ]",str);

printf("str=%s",str);//輸出1234

或者如果是這樣,在字串中間加乙個「,」,輸出只會輸出1234,到","的位置停止輸出

sscanf("1234,56abcdedf","%[^,]",str);

printf("str=%s",str);//輸出1234

4. 取僅包含指定字符集的字串。如在下例中,取僅包含1到9和小寫字母的字串。

sscanf("123456abcdedfbcdef","%[1-9a-z]",str);

printf("str=%s",str);

5. 取到指定字符集為止的字串。如在下例中,取遇到大寫字母為止的字串。

sscanf("123456abcdedfbcdef","%[^a-z]",str);

printf("str=%s",str);

說完上面基礎的應用下面看下我的應用

從字串"+ok=tcp,client,80,39.156.66.18"裡面提取訪問的埠號和ip位址

printf("stprot=%s",stprot);//輸出stprot=80

printf("stip=%s",stip);//輸出stip=39.156.66.18

最後就會得到我們想要的資料

sscanf的基本簡單用法

sscanf和scanf的區別 sscanf與scanf類似,都是用於輸入的,只是後者以鍵盤 stdin 為輸入源,前者以固定字串為輸入源。sscanf用作處理分隔字串 原型 int sscanf const char str,const char format,argument buffer 儲存...

sprintf和sscanf的簡單用法(c語言)

首先普通的printf和scanf用法是這樣的 scanf d n printf d n 但其實預設是這樣的 scanf screen,d n 都是面向screen printf screen,d n scanf的順序是從做左到右 printf的順序是從右到左所以sscanf和sprintf就是面向...

sscanf的高階用法

sscanf的高階用法 printf或者sprintf一定是任何乙個c程式設計師最常見到的函式,與sprintf的作用相反,sscanf通常被用來解析並轉換字串,其格式定義靈活多變,可以實現很強大的字串解析功能。sscanf的原型很簡單,定義如下 include int sscanf const c...