输入一个字符串,在指定位置插入一个字符

 我来答
金色潜鸟
2013-03-15 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5696万
展开全部
可以写一个函数:
void insert_c(char *s, char x, int location){}
参数 *s 是 字符串
location 是 指定位置 (0起算),超出字符串长度则加在尾部。
x 是 要插入的字符。

#include <stdio.h>
void insert_c(char *s, char x, int location){
int L,i;
L = strlen(s);
if (location > L) {s[L]=x;s[L+1]='\0';}
else {
for (i=L;i>=location;i--) s[i]=s[i-1];
s[location]=x;
s[L+1]='\0';
};
}

main(){
char s[80]="abcd12345XYZ";
char x='A';
int location=4;
// 你可以添加输入语句
// scanf("%s",s); scanf("%c",&x); scanf("%d",&location);
insert_c(s, x, location);
printf("%s",s);
return 0;
}
life91
2013-03-16 · 超过25用户采纳过TA的回答
知道答主
回答量:74
采纳率:100%
帮助的人:35.9万
展开全部
  1. #include <string>

  2. #include <iostream>

  3. using namespace std;

  4. int main()

  5. {

  6.     string str("game is game!");

  7.     string newstr("insert is insert!");

  8.     size_t pos(6);

  9.     // 超出最大范围值

  10.     if (str.size() + newstr.size() > str.max_size()) {

  11.         cout << "out of the max size" << endl;

  12.         return 0;

  13.     }

  14.     str.insert(pos, newstr.c_str());

  15.     cout << str << endl;

  16.     return 1;

  17. }

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沙水河图
2013-03-14 · 超过14用户采纳过TA的回答
知道答主
回答量:76
采纳率:0%
帮助的人:34.6万
展开全部
C++中的string有个insert()函数:iterator insert( iterator i, const char &ch );在迭代器i表示的位置前面插入一个字符ch,;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-03-14
展开全部
CSring类 string类中都有相应的函数完成这个功能
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式