c语言堆串的复制、插入、删除的代码
时间: 2024-04-22 13:21:13 浏览: 17
C语言中,堆串的复制、插入和删除操作可以通过以下代码实现:
1. 堆串的复制:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* copyHeapString(const char* src) {
int len = strlen(src);
char* dest = (char*)malloc((len + 1) * sizeof(char));
strcpy(dest, src);
return dest;
}
int main() {
const char* src = "Hello, World!";
char* dest = copyHeapString(src);
printf("Copied string: %s\n", dest);
free(dest); // 释放内存
return 0;
}
```
2. 堆串的插入:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* insertHeapString(const char* src, const char* insert, int pos) {
int lenSrc = strlen(src);
int lenInsert = strlen(insert);
int lenDest = lenSrc + lenInsert;
char* dest = (char*)malloc((lenDest + 1) * sizeof(char));
strncpy(dest, src, pos);
strncpy(dest + pos, insert, lenInsert);
strncpy(dest + pos + lenInsert, src + pos, lenSrc - pos);
dest[lenDest] = '\0';
return dest;
}
int main() {
const char* src = "Hello, World!";
const char* insert = "C ";
int pos = 7;
char* dest = insertHeapString(src, insert, pos);
printf("Inserted string: %s\n", dest);
free(dest); // 释放内存
return 0;
}
```
3. 堆串的删除:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* deleteHeapString(const char* src, int pos, int len) {
int lenSrc = strlen(src);
int lenDest = lenSrc - len;
char* dest = (char*)malloc((lenDest + 1) * sizeof(char));
strncpy(dest, src, pos);
strncpy(dest + pos, src + pos + len, lenSrc - pos - len);
dest[lenDest] = '\0';
return dest;
}
int main() {
const char* src = "Hello, World!";
int pos = 7;
int len = 6;
char* dest = deleteHeapString(src, pos, len);
printf("Deleted string: %s\n", dest);
free(dest); // 释放内存
return 0;
}
```
希望以上代码能够满足你的需求。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)