C語言中如何使用sscanf
C語言是一種計算機程序設計語言,它既具有高級語言的特點,又具有彙編語言的特點。以下是小編爲大家搜索整理的C語言中如何使用sscanf,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!
名稱:
sscanf() - 從一個字符串中讀進與指定格式相符的數據.
複製代碼 代碼如下:
函數原型:
Int sscanf( string str, string fmt, mixed var1, mixed var2 ... );
int scanf( const char *format [,argument]... );
說明:
sscanf與scanf類似,都是用於輸入的,只是後者以屏幕(stdin)爲輸入源,前者以固定字符串爲輸入源。
其中的format可以是一個或多個 {%[*] [width] [{h | l | I64 | L}]type | ' ' | '/t' | '/n' | 非%符號}
注:
1、 * 亦可用於格式中, (即 %*d 和 %*s) 加了星號 (*) 表示跳過此數據不讀入. (也就是不把此數據讀入參數中)
2、{a|b|c}表示a,b,c中選一,[d],表示可以有d也可以沒有d。
3、width表示讀取寬度。
4、{h | l | I64 | L}:參數的size,通常h表示單字節size,I表示2字節 size,L表示4字節size(double例外),l64表示8字節size。
5、type :這就很多了,就是%s,%d之類。
6、特別的:%*[width] [{h | l | I64 | L}]type 表示滿足該條件的被過濾掉,不會向目標參數中寫入值
支持集合操作:
%[a-z] 表示匹配a到z中任意字符,貪婪性(儘可能多的匹配)
%[aB'] 匹配a、B、'中一員,貪婪性
%[^a] 匹配非a的任意字符,貪婪性
下面是一段實例程序
複製代碼 代碼如下:
/*****************************************************
** Name : sscanf.c
** Author : gzshun
** Version : 1.0
** Date : 2011-12
** Description : sscanf function
******************************************************/
#include
#include
#include
static void sscanf_test(void);
static void sscanf_test(void)
{
int ret;
char *string;
int digit;
char buf1[255];
char buf2[255];
char buf3[255];
char buf4[255];
/*1.最簡單的用法*/
string = "china beijing 123";
ret = sscanf(string, "%s %s %d", buf1, buf2, &digit);
printf("ng=%sn", string);
printf("=%d, buf1=%s, buf2=%s, digit=%dnn", ret, buf1, buf2, digit);
/*
**執行結果:
**=3, buf1=china, buf2=beijing, digit=123
**可以看出,sscanf的返回值是讀取的參數個數
*/
/*2.取指定長度的`字符串*/
string = "123456789";
sscanf(string, "%5s", buf1);
printf("ng=%sn", string);
printf("1=%snn", buf1);
/*
**執行結果:
**1=12345
*/
/*3.取到指定字符爲止的字符串*/
string = "123/456";
sscanf(string, "%[^/]", buf1);
printf("ng=%sn", string);
printf("1=%snn", buf1);
/*
**執行結果:
**1=123
*/
/*4.取到指定字符集爲止的字符串*/
string = "123abcABC";
sscanf(string, "%[^A-Z]", buf1);
printf("ng=%sn", string);
printf("1=%snn", buf1);
/*
**執行結果:
**1=123abc
*/
/*5.取僅包含指定字符集的字符串*/
string = "0123abcABC";
sscanf(string, "%[0-9]%[a-z]%[A-Z]", buf1, buf2, buf3);
printf("ng=%sn", string);
printf("1=%s, buf2=%s, buf3=%snn", buf1, buf2, buf3);
/*
**執行結果:
**1=123, buf2=abc, buf3=ABC
*/
/*6.獲取指定字符中間的字符串*/
string = "ioswp7";
sscanf(string, "%*[^<]
相關文章
-
C語言中sscanf的用法
寫工作計劃實際上就是對我們自己工作的一次盤點。以下是關於品管部年度工作計劃,希望對您有幫助!品管部年度工作計劃【一】20xx年工作即將結束,結合20xx年公司現況,特制訂20xx年我部工作計劃如下:一、工作目標1、產品加 -
C語言中sscanf的用法有哪些
太陽是太陽系的中心天體,太陽系中的八大行星、小行星、流星、彗星、外海王星天體以及星際塵埃等,都圍繞着太陽公轉,而太陽則圍繞着銀河系的中心公轉。下面是小編整理的有關於太陽的傳說故事,一起來看看吧。 太陽的傳說 -
JavaScript instanceof 的使用方法有哪些
在 JavaScript 中,判斷一個變量的類型嚐嚐會用 typeof 運算符,在使用 typeof 運算符時採用引用類型存儲值會出現一個問題,無論引用的是什麼類型的對象,它都返回 “object”。這就需要用到instanceof來檢測某個對象是不是 -
如何使用CrystalDiskInfo硬盤檢測工具
CrystalDiskInfo是一款僅2.4M的小巧電腦硬盤檢測工具,可以檢測電腦硬盤接口以及硬盤好壞。針對不少電腦小白朋友,還不知道CrystalDiskInfo怎麼用,以下電腦小編詳細介紹下CrystalDiskInfo硬盤檢測工具使用方法。一、首先 -
如何使用CSS構建iframe效果
iframe應用很普遍,通常的需求有兩種: 1,獲取iframe效果,就是帶一個滾動條,可以省不少版面。 2,要嵌一個頁面,實現框架鏈接。如果不方便使用iframe,可以有如下解決方案:第一種需求如果我們使用CSS佈局來實現,即可以少一個頁 -
母版頁時內容頁是如何使用css和javascript
好處有了,問題也接着來了。原來在頻道頁和列表頁中有其各自的css引入和一些javascript函數,當使用母版頁時,放在內容頁中這些css樣式和javascript函數怎麼處理呢?因爲大家知道,使用母版頁的內容頁是不能包含標記的,而css和j -
JavaScript ES6中CLASS的使用指南
1、前言對於javascript來說,類是一種可選(而不是必須)的設計模式,而且在JavaScript這樣的[[Prototype]] 語言中實現類是很蹩腳的。這種蹩腳的感覺不只是來源於語法,雖然語法是很重要的原因。js裏面有許多語法的缺點:繁瑣雜 -
C語言中Static和Const關鍵字的作用
魏源,名遠達,字默深,號良圖。清代着名的啓蒙思想家,政治家和文學家,是中國近代睜眼看世界的人物之一,以下就是魏源的簡介。魏源出生於乾隆五十九年三月二十四日,也就是公元1794年。他的家鄉在湖南邵陽縣的金譚。魏源從7歲就 -
英語文章賞析財富是成功的標誌Wealth is a Sign of Success
安全是生產的保證,安全是鞏固企業的基石,是發展企業的根本,是企業效益的保障,安全是一切工作的重中之重。下面是本站小編爲大家整理了企業關於安全生產的演講稿3篇,歡迎大家閱讀。企業關於安全生產演講稿篇1大家好!激情的 -
C語言scanf函數應用問題解答
當看完一本著作後,相信大家的收穫肯定不少,不妨坐下來好好寫寫讀後感吧。現在你是否對讀後感一籌莫展呢?下面是小編幫大家整理的《一位母親與家長會》讀後感,希望對大家有所幫助。《一位母親與家長會》讀後感1這個故事是