如何使用C语言实现c++ append函数
时间: 2023-12-29 18:03:13 浏览: 119
C++调用C文件函数简单应用附件
3星 · 编辑精心推荐
C语言中没有类的概念,也没有类的成员函数,因此无法直接使用类似C++中的`append`函数。但是,我们可以使用指针和函数来模拟类似的功能。
下面是一个示例代码,实现了类似于C++中`std::string`中的`append`函数,将一个字符串追加到另一个字符串的末尾:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* append(char* dest, const char* src) {
size_t dest_len = strlen(dest);
size_t src_len = strlen(src);
dest = realloc(dest, dest_len + src_len + 1);
if (dest == NULL) {
fprintf(stderr, "Error: Memory allocation failed.\n");
exit(EXIT_FAILURE);
}
strcpy(dest + dest_len, src);
return dest;
}
int main() {
char* str1 = malloc(10 * sizeof(char));
strcpy(str1, "hello");
char* str2 = " world";
str1 = append(str1, str2);
printf("%s\n", str1);
free(str1);
return 0;
}
```
在上面的代码中,`append`函数使用了`realloc`函数来重新分配内存,将源字符串追加到目标字符串的末尾,并返回新的字符串指针。
注意,由于使用了`realloc`函数,需要在使用完字符串后释放内存。
阅读全文