連線字串 sprintf

2021-04-25 05:46:58 字數 1626 閱讀 1831

在寫程式中,有時需要用到連線2個字串,在這裡介紹一下2個函式。

函式一:sprintf

參考:http://oss.lzu.edu.cn/blog/article.php?tid_877.html

定義如下:

int sprintf( char *buffer, const char *format [, argument] ... );

說明如下:

sprintf是個變參函式,除了前兩個引數型別固定外,後面可以接任意多個引數。

而它的精華,顯然就在第二個引數:格式化字串上。

返回值:較少有人注意printf/sprintf函式的返回值,但有時它卻是有用的,spritnf返回了本次函式呼叫最終列印到字元緩衝區中的字元數目。

也就是說每當一次sprinf呼叫結束以後,你無須再呼叫一次strlen便已經知道了結果字串的長度

用法如下:

1.把整數列印到字串中:

sprintf最常見的應用之一莫過於把整數列印到字串中,所以,spritnf在大多數場合可以替代itoa。

如://把整數123列印成乙個字串儲存在s中。

sprintf(s, "%d", 123);   //產生"123"

2.連線字串

sprintf的格式控制串中既然可以插入各種東西,並最終把它們「連成一串」,自然也就能夠連線字串,

從而在許多場合可以替代strcat,但sprintf能夠一次連線多個字串(自然也可以同時在它們中間插入別的內容,總之非常靈活)。

比如:char* who = "i";

char* whom = "csdn";

sprintf(s, "%s love %s.", who, whom); //產生:"i love csdn. "    

以下是2個sprintf例子:

例一:main()

}輸出結果:

link0

link1

link2

link3

link4

例二:#include

#include

#include

int main()   

s[offset - 1] = '/n';//將最後乙個逗號換成換行符。

printf("the result is:%s/n",s);

return 0;

}  

輸出結果:

the result is:66,26,38,66,31,96,65,81,63,77

函式二:

函式名: strcat

功 能: 字串拼接函式

用 法: char *strcat(char *destin, char *source);

程式例:

#include

#include

#include

main()

輸出結果:

the merge result is:abcde123

二者區別:

sprintf的格式控制串中既然可以插入各種東西,並最終把它們「連成一串」,自然也就能夠連線字串,

從而在許多場合可以替代strcat,但sprintf能夠一次連線多個字串(自然也可以同時在它們中間插入別的內容,總之非常靈活)

sprintf 格式化字串

sprintf 函式把格式化的字串寫入變數中。arg1 arg2 引數將被插入到主字串中的百分號 符號處。該函式是逐步執行的。在第乙個 符號處,插入 arg1,在第二個 符號處,插入 arg2,依此類推。注釋 如果 符號多於 arg 引數,則您必須使用佔位符。佔位符位於 符號之後,由數字和 組成。請...

連線字串

建立資料庫連線 sqlconnection con new sqlconnection con.connectionstring system.configuration.configurationmanager.connectionstrings con tostring 配置檔案中已經配置好連線...

格式化字串 sprintf函式

有時候我們需要格式化乙個字串的內容,這時侯使用sprintf 函式特別方便,它的使用格式如下 int sprintf char buffer,const char format,argument buffer代表字串指標,format為格式化的樣式,其餘為引數。例如 char s 105 sprin...