sscanf的作用:從乙個字串中讀進於指定格式相符的資料。利用它可以從字串中取出整數、浮點數和字串。
sscanf和scanf的區別:scanf是以鍵盤作為輸入源,sscanf是以字串作為輸入源。
提取某個字串中的有效資訊,放入指定變數或字串中
跟scanf一樣,遇到空格或者換行結束讀取
如果是拆分後放入多個字串中,會首先看第乙個字元是否匹配成功,如果不成功結束匹配,然後拆分過程中遇到空格結束拆分當前字串,將所讀取的內容放入指定字串中,然後檢視後續是否還有要放入的字串,如果有繼續進行下一輪拆分,直到沒有要放入的子符串為止
#define _crt_secure_no_warnings
#include
#include
void
test()
;char s2[
300]=;
char s3[
300]=;
char s4[
300]=;
//遇到空格結束讀取
將已知的字串通過格式化匹配出有效資訊1、%*s或%*d 跳過資料,%*2d可以選擇跳過幾個數字,不然就會預設都跳過
2、%[width]s 讀指定寬度的資料
3、%[a-z] 匹配a到z中任意字元(盡可能多的匹配)
4、%[abc] 匹配a、b、c中一員,貪婪性
5、%[^a] 匹配非a的任意字元,貪婪性
6、%[^a-z] 表示讀取除a-z以外的所有字元
1.取出指定長度字串
#include
#include
intmain()
2.格式化時間
#include
#include
intmain()
;int year;
int month;
int day;
char ch[32]
=;char ch1[32]
=;char ch2[32]
=;sscanf
("2002/2/18 hello the world"
,"%d/%d/%d %s %s %s"
,&year,
&month,
&day,
&ch,
&ch1,
&ch2)
;printf
("%d/%d/%d %s %s %s"
,year,month,day,ch,ch1,ch2)
;return0;
}
3.讀入字串
5.字串中未輸入資料
6.取到指定字符集為止的字串。如遇到小寫字母為止的字串。
#include
#include
intmain()
7.取僅包含指定字符集的字串。(取僅包含數字和小寫字母的字串,是取得連續的字串)。
#include
#include
intmain()
Oracle拆分字串函式
原文中 有個錯誤 v start v length 1 雖然設定下次查詢起點為字串長度 1,但下次v index還是0,程式不會退回。程式沒有退出條件,故本句應改出使程式退出。exit 還有,原文中未檢測傳入的字串引數為null或為空的情況 此時返回的v index為空 下面改正了,見紅色字型部分。...
mysql拆分字串函式
業務需求 拆分字串,然後將數字轉換成中文描述,返回成以,分割的中文描述 修改結束符,防止在mysql命令列中預設分號直接執行 delimiter 建立乙個計算拆分後字串的個數函式 drop function if exists calc length create function calc len...
Oracle拆分字串函式
本函式可以將 目標字串 以 指定字串 進行拆分,並通過表結構返回結果。如下 create or replace type str split is table of varchar2 4000 create or replace function splitstr p string in varch...