標籤:style code http ext color com
sscanf函數
sscanf函數基本知識
函數原型
int sscanf( const char *buffer, const char *format [, argument ] ... );
函數功能
將buffer中的資料按照format格式讀取後儲存在argument中,傳回值表示為成功轉換的的資料個數,如果在第一次轉換之前候遇到檔案結尾就返回EOF。
執行個體一
#include<stdio.h>int main(){ char *buffer = "asdfg10112022"; char *temp1[10]; char *temp2[20]; sscanf(buffer,"%[a-zA-Z]%[1-9]",temp1,temp2); printf("%s\n%s\n",temp1,temp2); printf("%d\n",sscanf(buffer,%[a-zA-Z]%[1-9])); return 0;}
sscanf一般的用法1. 常見用法。
charbuf[512];sscanf("123456","%s",buf);//此處buf是數組名,它的意思是將123456以%s的形式存入buf中printf("%s\n",buf);//123456
2. 取指定長度的字串。如在下例中,取最大長度為4位元組的字串。
sscanf("123456","%4s",buf);printf("%s\n",buf);//1234
3. 取到指定字元為止的字串。如在下例中,取遇到空格為止字串。
sscanf("123456abcd edf","%[^ ]",buf);printf("%s\n",buf);//123456abcd
4. 取僅包含指定字元集的字串。如在下例中,取僅包含1到9和小寫字母的字串。
sscanf("123456abcdedfBCDEF","%[1-9a-z]",buf);printf("%s\n",buf);//123456abcded
5. 取到指定字元集為止的字串。如在下例中,取遇到大寫字母為止的字串。
sscanf("123456abcdedfBCDEF","%[^A-Z]",buf);printf("%s\n",buf);//sscanf("123456abcdedfBCDEF","%[^A-Z]",buf);printf("%s\n",buf);
6、給定一個字串iios/[email protected],擷取 / 和 @ 之間的字串。
sscanf("iios/[email protected]","%*[^/]/%[^@]",buf);printf("%s\n",buf);//12DDWDFF
7、給定一個字串“hello, world”,僅保留world。
sscanf(“hello, world”,"%*s%s",buf);/%s遇空格停止,加*則是忽略第一個讀到的字串。printf("%s\n",buf);//word