最近做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...