char *strcat(char *dest, const char *src):將 src 追加到 dest 末尾,返回 dest。要求 dest 有足夠空間。
[cpp]
#include
#include
using namespace std;
char *strcat_bxy(char *dst, const char *src) {
assert(dst != NULL && src != NULL);
char *tmp = dst;
while (*dst) dst++; // 定位到 dest 末尾 '\0'
while (*dst++ = *src++); // 複製 src 含 '\0'
return tmp;
}
int main() {
char a[100] = "bxy";
char *b = "123";
strcat_bxy(a, b);
cout << a << endl; // bxy123
return 0;
}
assert 防御空指針。dst 以便返回。while (*dst++ = *src++) 經典單行複製循環(含終止符)。dst 空間足夠,否則緩衝區溢出。