在寫程式中,有時需要用到連線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...