请用C语言编写一个编写一个函数insertString:将一个字符串(sourceStringptr形参指定)插入到另一个字符串(destinationString形参保存)中给定的位置(position形参指定)insertString的函数原型为void insertString(char destinationString[],char *sourceStringptr,int position);
时间: 2024-01-14 21:02:49 浏览: 64
C++string中的insert()插入函数详解
下面是使用C语言编写的函数insertString的实现:
```c
void insertString(char destinationString[], char *sourceStringptr, int position) {
int length = strlen(destinationString);
int sourceLength = strlen(sourceStringptr);
char temp[length - position + 1];
int i;
if (position > length) {
printf("Position is out of range!");
return;
}
// 保存destinationString中position后面的字符
for (i = position; i < length; i++) {
temp[i - position] = destinationString[i];
}
temp[i - position] = '\0';
// 将sourceStringptr插入到destinationString中
for (i = 0; i < sourceLength; i++) {
destinationString[position + i] = sourceStringptr[i];
}
destinationString[position + i] = '\0';
// 将之前保存的destinationString中position后面的字符拼接到destinationString后面
strcat(destinationString, temp);
}
```
该函数的实现比较简单,主要分为三个步骤:
1. 判断position是否合法,即是否超出了destinationString的范围;
2. 保存destinationString中position后面的字符,以便后面将其拼接到destinationString中;
3. 将sourceStringptr插入到destinationString中指定的位置,然后再将之前保存的destinationString中position后面的字符拼接到destinationString后面。
注意,这里使用了C语言中的字符串操作函数,需要在程序开头包含头文件<string.h>。
阅读全文