字串拼接

2021-09-28 08:14:01 字數 1376 閱讀 7055

本文總結記錄linux c中有關字串的拼接方法,strncat 和 snprintf 函式

一、strncat 實現字串拼接

char

*strncat

(char

*dest,

const

char

*src, size_t n)

;// 宣告, n 為 src 字串長度

char

*strncat

(char

*dest,

const

char

*src, size_t n)

// 實現

/*

示例使用main函式傳入兩個非空字串 ar**[1]、ar**[2]

將ar**[2]拼接到ar**[1]之後

*/int

main

(int argc,

char

**ar**)

執行結果如下:

二、snprintf 實現字串拼接

int

snprintf

(char

*str, size_t size,

const

char

*format,..

.);//宣告,最多寫 size 個位元組

int

main

(int argc,

char

**ar**)

;// 定義目標快取區buf

// 利用 snprintf 函式完成格式化字元拼接

snprintf

(buf,

100,

"%s + %s -> |%s%s|"

, ar**[1]

, ar**[2]

, ar**[1]

, ar**[2]

);printf

("%s\t%zu\n"

, buf,

strlen

(buf));

return0;

}

執行結果如下:

注意:如果 size > 100,會出現快取區溢位;

如果 size < 43(目標字串 buf 的總長度),則不能完整儲存格式化字串,顯示會出現截斷;

拼接字串

border 1 class box 標籤名稱th 是否顯示th 標籤順序th tr thead 首頁td class check 是option 否option select td class number 1option 2option 3option 4option 5option 6opti...

字串拼接

給定兩個字串s1和s2,合併成乙個新的字串s。合併規則為,s1的第乙個字元為s的第乙個字元,將s2的最後乙個字元作為s的第二個字元 將s1的第二個字元作為s的第三個字元,將s2的倒數第二個字元作為s的第四個字元,以此類推。包含多組測試資料,每組測試資料報含兩行,代表長度相等的兩個字串s1和s2 僅由...

字串拼接

string s1 abc string s2 newstring abc s2 s2在堆中 在jdk6.0及之前版本,字串常量池是放在perm gen區 也就是方法區 中 在jdk7.0版本,字串常量池被移到了堆中了。至於為什麼移到堆內,大概是由於方法區的記憶體空間太小了。string s3 你好...