输入一个字符串,在指定位置插入一个字符
4个回答
展开全部
可以写一个函数:
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;
}
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;
}
展开全部
#include <string>
#include <iostream>
using namespace std;
int main()
{
string str("game is game!");
string newstr("insert is insert!");
size_t pos(6);
// 超出最大范围值
if (str.size() + newstr.size() > str.max_size()) {
cout << "out of the max size" << endl;
return 0;
}
str.insert(pos, newstr.c_str());
cout << str << endl;
return 1;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C++中的string有个insert()函数:iterator insert( iterator i, const char &ch );在迭代器i表示的位置前面插入一个字符ch,;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-03-14
展开全部
CSring类 string类中都有相应的函数完成这个功能
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询