在C語言中,可以使用指針和循環來實現strcat函數。strcat函數用于將一個字符串連接到另一個字符串的末尾。
下面是一個用C語言編寫的strcat函數的示例:
#include <stdio.h>
char* strcat(char* dest, const char* src) {
char* ptr = dest;
// 使指針指向dest字符串的末尾
while (*ptr != '\0') {
ptr++;
}
// 將src字符串的字符逐個復制到dest字符串的末尾
while (*src != '\0') {
*ptr = *src;
ptr++;
src++;
}
// 在dest字符串的末尾添加結束符
*ptr = '\0';
return dest;
}
int main() {
char str1[50] = "Hello";
char str2[50] = " World!";
printf("Before strcat: %s\n", str1);
strcat(str1, str2);
printf("After strcat: %s\n", str1);
return 0;
}
在這個示例中,首先聲明了一個名為strcat的函數,該函數接受兩個參數:一個目標字符串dest和一個源字符串src。dest字符串是用于接收連接結果的字符串,而src字符串是要連接到dest字符串末尾的字符串。
在函數中,首先使用指針ptr指向dest字符串的末尾。然后,使用循環將src字符串的字符逐個復制到dest字符串的末尾,直到遇到src字符串的結束符’\0’。
最后,在dest字符串的末尾添加結束符’\0’,表示字符串的結束。
在main函數中,首先聲明了兩個字符數組str1和str2,分別存儲"Hello"和" World!"字符串。然后,調用strcat函數,將str2連接到str1末尾。最后,打印連接結果。
運行程序,輸出如下:
Before strcat: Hello
After strcat: Hello World!
可以看到,成功地將str2連接到了str1的末尾。