C++设计一个通用函数实现在字符串s1中从第m个字符开始插入字符串s2,在主程序中对该函数进行测试

 我来答
留下痕迹的人生
推荐于2016-03-07 · TA获得超过513个赞
知道小有建树答主
回答量:305
采纳率:80%
帮助的人:206万
展开全部
/* dest为目标字符串, size是dest字符串的占用字节数 ,pos表示的插入字符串的开始位置,str表示要插入的字符串 */
bool insert_str(char *dest, int size, int pos, const char* str){
if(str ==NULL || pos<0 || pos>=strlen(dest) || size<=strlen(dest)+strlen(str)){
cout << "插入字符串失败" << endl;
return false;
}

char *p_start = &dest[pos]; // 指向要插入字符串的开始位置
char *p_end = p_start + strlen(str); // 指向要插入字符串的结束位置
/* 把字符串dest的第pos位之后的字符串移动到插入字符串的结束位置的后面 */
for(int i=0; i<strlen(str); i++){
if(*(p_start+i) == '\0'){
break;
}else{
*(p_end+i) = *(p_start+i);
}
}
/* 开始插入的字符串 */
for(int i=0; i<strlen(str); i++){
*(p_start+i) = *(str+i);
}
cout << " 字符串插入成功" << endl;
return true;
}

int main(){
char str[50]="123789";
insert_str(str, 50, 3, "456");

cout << str << endl;
while(1);
return 0;
}
百度网友cd076df
2014-12-17 · TA获得超过578个赞
知道大有可为答主
回答量:6221
采纳率:100%
帮助的人:6433万
展开全部

您好,中公教育为您服务。

您好,由于您的问题比价专业,我们这边暂时无法解答呢!建议您可以在搜索引擎上搜索下,或者可以问问您的老师同学等等专业人士。更多公职类考试信息建议您访问陕西人事考试网,我们网站不仅会及时更新相关的招考信息,而且还有免费海量的备考资料。希望可以帮到您。

如有疑问,欢迎向中公教育企业知道提问。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
White_MouseYBZ
2014-12-14 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6527万
展开全部
//#include "stdafx.h"//vc++6.0加上这一行.
#include <iostream>
#include <string>
using namespace std;
string myfun(string s,string ts,int m){
return s.insert(m,ts);
}
int main(void){
string str,tstr;
int m;
cout << "Input a string...\nstr=";
cin >> str;
cout << "Enter a string to be inserted & position...\n";
cin >> tstr >> m;
cout << "After insert string as follows:\n";
cout << myfun(str,tstr,m) << endl;
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式