認識sscanf函數

來源:互聯網
上載者:User

標籤: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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.