sscanf 函式與 sprintf 函式對比用例

2022-08-01 14:45:18 字數 1421 閱讀 2727

sprintf函式

sprintf函式原型為 int sprintf(char *str, const char *format, …)。作用是格式化字串,具體功能如下所示:

(1)將數字變數轉換為字串。

(2)得到整型變數的16進製制和8進製字串。

(3)連線多個字串。

char str[256] = ;

int data = 1024;

//將data轉換為字串

sprintf(str,"%d",data);

//獲取data的十六進製制

sprintf(str,"0x%x",data);

//獲取data的八進位制

sprintf(str,"0%o",data);

const

char *s1 = "hello";

const

char *s2 = "world";

//連線字串s1和s2

sprintf(str,"%s %s",s1,s2);

sscanf函式

sscanf函式原型為int sscanf(const char *str, const char *format, …)。將引數str的字串根據引數format字串來轉換並格式化資料,轉換後的結果存於對應的引數內。具體功能如下:

(1)根據格式從字串中提取資料。如從字串中取出整數、浮點數和字串等。

(2)取指定長度的字串

(3)取到指定字元為止的字串

(4)取僅包含指定字符集的字串

(5)取到指定字符集為止的字串

注: (1)-: 表示範圍,如:%[1-9]表示只讀取1-9這幾個數字 %[a-z]表示只讀取a-z小寫字母,類似地 %[a-z]只讀取大寫字母

(2)^: 表示不取,如:%[^1]表示讀取除』1』以外的所有字元 %[^/]表示除/以外的所有字元

(3),: 範圍可以用」,」相連線 如%[1-9,a-z]表示同時取1-9數字和a-z小寫字母

(4)原則:從第乙個在指定範圍內的數字開始讀取,到第乙個不在範圍內的數字結束%s 可以看成% 的乙個特例 %[^ ](注意^後面有乙個空格!)

const

char *s = "";

char protocol[32] = ;

char host[128] = ;

char port[8] = ;

sscanf(s,"%[^:]://%[^:]:%[1-9]",protocol,host,port);

printf("protocol: %s\n",protocol);

printf("host: %s\n",host);

printf("port: %s\n",port);

sscanf與sprint函式的用法

printf 語法 include int printf const char format,printf 函式根據format 格式 給出的格式列印輸出到 stdout 標準輸出 和其它引數中。返回值是輸出的字元數量。sprintf 語法 include int sprintf char buff...

sscanf 函式與 sprintf 函式對比用例

sprintf函式 sprintf函式原型為 int sprintf char str,const char format,作用是格式化字串,具體功能如下所示 1 將數字變數轉換為字串。2 得到整型變數的16進製制和8進製字串。3 連線多個字串。char str 256 int data 1024 ...

sscanf 函式與 sprintf 函式對比用例

sprintf函式 sprintf函式原型為 int sprintf char str,const char format,作用是格式化字串,具體功能如下所示 1 將數字變數轉換為字串。2 得到整型變數的16進製制和8進製字串。3 連線多個字串。char str 256 int data 1024 ...