sscanf常用用法整理

2021-09-01 09:26:31 字數 2646 閱讀 2448

//一、格式化輸出字串,相當於strcpy

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

/*output 123456*/

//二、取指定長度的字串

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

/*output 1234*/

//三、取到指定字串為止。

sscanf("123456789 abcdfe", "%[^ ]", str);

/*output 123456789*/

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

sscanf("89hkdfccqqqq", "%[1-9a-z]", str); //123sfdaf89dfcc9qqqqsssssfdfa

/*output 89hk*/

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

sscanf("123456789fdsafdsadddddd", "%[^a-z]", str);

/*output 123456789fdsafdsa*/

//六、取出下面字串中數字2位為一組取出

char a1[3], a2[3], a3[3]; int i1,i2;

sscanf("12:34:56-7890", "%2s:%2s:%2s-%2d%2d", a1, a2, a3, &i1, &i2);

printf("--%s---%s----%s----%d----%d---\n", a1, a2, a3, i1, i2);

/*output 12 34 56 78 90*/

//七、以','為分割取出下面字串

char a4[10], a5[10], a6[10], a7[10];

sscanf("first,25.5,second,15", "%5s,%4s,%6s,%2s", a4, a5, a6, a7);

/*method one*/

sscanf("first,25.5,second,15", "%[^,],%[^,],%[^,],%s", a4, a5, a6, a7);/*method two*/

printf("--%s---%lf----%s----%d--\n", a4, atof(a5), a6, atoi(a7));

/*output first 25.500000 seond 15*/

//八、給定乙個字串iios/12ddwdff@122,獲取 '/' 和 '@' 之間的字串,

//先將 "iios/"過濾掉,再將非'@'的一串內容送到buf中   

sscanf("iios/12ddwdff@122", "%*[^/]/%[^@]", str);

/*ouput: 12ddwdff*/

//九、給定乙個字串"hello, world",僅保留world。

//(注意:","之後有一空格,%s遇空格停止,加*則是忽略第乙個讀到的字串)

sscanf("hello, world", "%*s%s", str);

/*output: wrold*/

//十、處理時間分割函式

char a8[15], a9[15];

//sscanf("2006:03:18 - 2006:04:18", "%s - %s", a8, a9);

//sscanf("2006:03:18-2006:04:18", "%s-%s", a8, a9);

//error

sscanf("2006:03:18-2006:04:18", "%[^-]-%s", a8, a9);

//method one

sscanf("2006:03:18-2006:04:18", "%10s-%10s", a8, a9);

//method two

printf("#######%s#########%s######\n", a8, a9);

/*output: 2006:03:18 2006:04:18*/

//十一、指定要跳過的字串

char a10[15], a11[15];

sscanf("iosvsandroid", "%[a-z]vs%[a-z]", a10, a11);

printf("###%s######%s###\n", a10, a11);

/*output: ios android*/

//十二、提取郵箱位址

char a12[10], a13[10], a14[10], a15[10];

sscanf("email:[email protected]", "%[^:]:%[^@]@%[^.].%s", a12, a13, a14, a15);

printf("#####%s#######%s#######%s######%s####\n", a12, a13, a14, a15);

/*output: email beijing sina com.cn*/

return 0;

}

sscanf的常用用法

一 常見用法。有點類似於scanf的使用 略有區別 有點賦值的味道。1.char buf 512 sscanf 123456 s buf printf s n buf 結果為 123456 就是把123456賦值給字串型的buf 注 各種的型別使用相同,都有 d,s,f等 2.取指定長度的字串。如在...

xlrd常用用法整理

1.1 安裝模板 在cmd命令列輸入 pip install xlrd 1.2 xlrd介紹 xlrd是python環境下對excel中的資料進行讀取的乙個模板,可以進行的操作有 2.1 開啟檔案 獲取乙個工作表 import xlrd data xlrd.open workbook 01.xls ...

sscanf用法整理

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