字串連接:strcat()、strncat()
比照 strcpy()與strncpy() ,做個筆記吧。順帶一提,一副貓樣的cat是concatenate的縮寫。 strncat() 函式宣告 char *strncat(char *dest, const char *src, size_t n); 測試範例 #include <stdio.h> #include <string.h> void main() { char src1[] = "abcd"; char src2[] = "123"; char arr[10]; int i, n; for (n = 0; n < sizeof(arr) - strlen(src1); n++) { memset(arr, '.', sizeof(arr)); strncpy(arr, src1, sizeof(src1)); printf("N = %d: ", n); strncat(arr, src2, n); for (i = 0; i < sizeof(arr); i++) { if (arr[i] == '\0') printf("%c ", '_'); else printf("%c ", arr[i]); } printf("\n"); } } 輸出如下: 顯示「.」代表未改變,保持原始值。 顯示「_」代表字串結尾字元「\0」。 N = 0: a b c d _ . . . . . N = 1: a b c d 1 _ . . . . N = 2: a b c d 1 2 _ . . . N = 3: a b c d 1 2 3 _ . . N = 4: a b c d 1 2 3 _ . . N = 5: a b ...