C语言如何在字符串中插入字符
时间: 2023-10-19 20:07:46 浏览: 749
在 C 语言中,要在字符串中插入字符,可以使用指针和循环来实现。具体的做法是,先将字符串中的每个字符都往后移动一个位置,然后在指定位置插入字符。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
void insert_char(char *str, char ch, int pos) {
int len = strlen(str);
for (int i = len; i >= pos; i--) {
str[i+1] = str[i];
}
str[pos] = ch;
}
int main() {
char str[100] = "hello world";
insert_char(str, '!', 5);
printf("%s\n", str);
return 0;
}
```
在这个示例代码中,我们定义了一个 `insert_char` 函数,它接受三个参数:字符串指针 `str`、要插入的字符 `ch` 和插入的位置 `pos`。函数会先计算字符串的长度,然后从字符串的末尾开始循环,将每个字符往后移动一个位置,最后将字符插入到指定位置。在主函数中,我们调用了 `insert_char` 函数,在字符串中插入了一个感叹号。
相关问题
c语言 字符串中间插入字符串
在C语言中,可以使用strcpy()、strcat()、strncat()等字符串函数来实现字符串中间插入字符串。
具体方法如下:
1.先将原字符串中指定位置之后的字符串保存到一个临时数组中。
2.将需要插入的字符串拼接在原字符串指定位置之后。
3.再将临时数组中保存的字符串拼接在新的字符串之后,这样就实现了字符串中间插入字符串。
以下是一段示例代码:
```c
#include<stdio.h>
#include<string.h>
int main()
{
char str[100] = "hello world";
char insert_str[100] = " my";
char temp_str[100] = "";
int position = 5;
// 将原字符串中指定位置之后的字符串保存到临时数组中
strcpy(temp_str, &str[position]);
// 在原字符串指定位置之后插入需要插入的字符串
str[position] = '\0';
strcat(str, insert_str);
// 将临时数组中保存的字符串拼接在新的字符串之后
strcat(str, temp_str);
printf("%s", str);
return 0;
}
```
阅读全文