以str開頭的字符串庫函數都不能處理字符串重疊的情況。
*strcat( *s1, * *strncat( *s1, * s2, size_t n);
strcat連接s1和s2時,s1的結束符’\0’被s2的第一個字符替代,s2的所有字符(包括其結束符)都覆蓋到s1相應的位置上;
strncat是將s2最多n個字符連接接到s1,如過n小於或等於s2的長度,會在最後結果後面加上一個結束符’\0’
如果n大於s2的長度,那麼strncat與strcat功能上是一致的。
測試代碼
main( argc, ** a[]= b[]= c[]= i = (; i<; printf(,a[i]),i++);printf( strncat(a,b,); (i=; i<; printf(,a[i]),i++);printf(
輸出