欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

C語(yǔ)言庫(kù)函數(shù)篇1:sscanf用法-創(chuàng)新互聯(lián)

一、前言

嶧城網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)于2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)

本節(jié),我們將學(xué)習(xí)C語(yǔ)言庫(kù)函數(shù)sscanf()的使用,使用sscanf可以快速的從復(fù)雜字符串中獲取自己需要的數(shù)據(jù)。

二、基礎(chǔ)知識(shí)

1.簡(jiǎn)介

sscanf與scanf類似,都是用于輸入的,只是后者以鍵盤(pán)(stdin)為輸入源,前者以固定字符串為輸入源。

2.函數(shù)描述

int sscanf(const char buffer, const charformat, [argument]...);
參數(shù):
buffer:需要解析的源字符串
format:窗體控件字符串,定義解析字符串的規(guī)則,可以是一個(gè)或多個(gè)
{%[*] [width] [{h | I | I64 | L}]type | ' ' | '\t' | '\n' | 非%符號(hào)}
argument:可選變量,用來(lái)存儲(chǔ)按照f(shuō)ormat規(guī)則解析buffer的結(jié)果

注:
(1) 亦可用于格式中, (即 %d 和 %s) 加了星號(hào) () 表示跳過(guò)此數(shù)據(jù)。 (也就是不把此數(shù)據(jù)讀入?yún)?shù)中)
(2) {a|b|c}表示a,b,c中選一,[d],表示可以有d也可以沒(méi)有d。
(3) width表示讀取寬度。
(4) {h | l | I64 | L}:參數(shù)的size,通常h表示單字節(jié)size,I表示2字節(jié) size,L表示 4字節(jié)size(double例外),l64表示8字節(jié)size。
(5) type :這就很多了,就是%s,%d之類。
(6) 特別的:%*[width] [{h | l | I64 | L}]type 表示滿足該條件的被過(guò)濾掉, 不會(huì)向目標(biāo)參數(shù)中寫(xiě)入值,失敗返回0 ,否則返回格式化的參數(shù)個(gè)數(shù)
(7) 如果讀取的字符串,不是以空格來(lái)分隔的話,就可以使用%[]。

使用時(shí)候需要包含頭文件:#include<stdio.h>

三、基礎(chǔ)知識(shí)

1.簡(jiǎn)單用法

#include <stdio.h>

 char *str = "123456 hello world";

int main(void)
{
  int num = 0;
  char str1[64] = { 0x00 };
  char str2[64] = { 0x00 };

  sscanf(str, "%d %s %", &num, str1, str2);
  printf("num : %d\r\nstr1 : %s\r\nstr2 : %s\r\n", num, str1, str2);

  return 0;
}

執(zhí)行結(jié)果如下:

C語(yǔ)言庫(kù)函數(shù)篇1:sscanf用法

2.取指定長(zhǎng)度字符串

#include <stdio.h>
char *str  = "123456";
int main(void)
{
  char res[64] = { 0x00 };
  sscanf(str, "%4s", res);
  printf("res is: %s\r\n", res);

  return 0;
}

執(zhí)行結(jié)果如下:

C語(yǔ)言庫(kù)函數(shù)篇1:sscanf用法

3. * 格式使用

(*)表示跳過(guò)此數(shù)據(jù)不讀入,也就是不把數(shù)據(jù)讀入?yún)?shù)中

#include <stdio.h>

int main(void)
{
  char *str  = "123456hello world";
  char res[64] = { 0x00 };
  char res1[64] = { 0x00 };

  sscanf(str, "%*d%s %s", res, res1);
  printf("res is: %s\r\nres1 is: %s\r\n", res, res1);
  return 0;
}

執(zhí)行結(jié)果如下:

C語(yǔ)言庫(kù)函數(shù)篇1:sscanf用法

4. %[]格式使用

(1) 獲取遇到指定字符為止的字符串

#include <stdio.h>
int main(void)
{
  char *str  = "hello+world";
  char res[64] = { 0x00 };
  char res1[64] = { 0x00 };

  sscanf(str, "%[^+]+%s", res, res1);
  printf("res is: %s\r\nres1 is: %s\r\n", res, res1);
  return 0;
}

執(zhí)行結(jié)果如下:

C語(yǔ)言庫(kù)函數(shù)篇1:sscanf用法

(2) 獲取遇到空格為止的字符串

#include <stdio.h>
int main(void)
{
  char *str  = "hello world";
  char res[64] = { 0x00 };
  char res1[64] = { 0x00 };

  sscanf(str, "%[^ ] %s", res, res1);
  printf("res is: %s\r\nres1 is: %s\r\n", res, res1);
  return 0;
}

執(zhí)行結(jié)果如下:

C語(yǔ)言庫(kù)函數(shù)篇1:sscanf用法

5.取指定字符集的字符串

#include <stdio.h>
int main(void)
{
  char *str  = "hello123456HELLO";
  char res[64] = { 0x00 };

  sscanf(str, "%[a-z1-9]", res);
  printf("res is: %s\r\n", res);
  return 0;
}

執(zhí)行結(jié)果如下:

C語(yǔ)言庫(kù)函數(shù)篇1:sscanf用法

四、結(jié)語(yǔ)

本節(jié)完,實(shí)際操作過(guò)程中需要注意的地方有如下幾點(diǎn):

(1) %[^]只取到指定字符串,如繼續(xù)獲取之后字符串需要做處理,如上述第4小例。

C語(yǔ)言庫(kù)函數(shù)篇1:sscanf用法

此次執(zhí)行不能正常獲取到"world"而獲取了“+world",就是由于%[^]不取該字符,使用時(shí)候需要特別注意。

2.后記:

如您在使用過(guò)程中有任何問(wèn)題,請(qǐng)加QQ群進(jìn)一步交流,也可以github提Issue。

QQ交流群:906015840 (備注:物聯(lián)網(wǎng)項(xiàng)目交流)

github倉(cāng)庫(kù)地址:https://github.com/solitary-sand/c

一葉孤沙出品:一沙一世界,一葉一菩提

C語(yǔ)言庫(kù)函數(shù)篇1:sscanf用法

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)站標(biāo)題:C語(yǔ)言庫(kù)函數(shù)篇1:sscanf用法-創(chuàng)新互聯(lián)
新聞來(lái)源:http://chinadenli.net/article8/despop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、搜索引擎優(yōu)化、手機(jī)網(wǎng)站建設(shè)網(wǎng)站維護(hù)、定制開(kāi)發(fā)、小程序開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站