编写一个完整的过程,将一个字符串插入到另一个字符串的某个位置后面

(例如:将“abc”插入到“abcdef”的第三个字符位置后面,结果为“abcabcdef”)。编写程序时,请在必要的地方加以注释(注:不能用该程序语言的内置函数或过程)... (例如:将“abc”插入到“abcdef”的第三个字符位置后面,结果为“abcabcdef”)。编写程序时,请在必要的地方加以注释(注:不能用该程序语言的内置函数或过程)。 展开
 我来答
轻风有尘
2013-08-13
知道答主
回答量:18
采纳率:0%
帮助的人:4.6万
展开全部
int StringLength(char *str)//其实有系统函数 strlen(),但不知道可以用不,所以也自己写了
{
for (int i = 0; ; ++i)
{
if (str[i] == 0)
{
return i;
}
}
}

char* InsertChar(char *first, char *second, int point)
{
int len1 = Stringlength(first);
int len2 = StringLength(second);

if (point > len2)
{
return NULL;//错误的位置 无法插入
}

char *result = new char[len1 + len2];
for (int i = 0; i < point; ++i)
{
result[i] = second[i];
}
for (int i = 0; i < len1; ++i)
{
result[i + point] = first[i];
}
for (int i = 0; i < len1 + len2; ++i)
{
result[point + len1 + i] = len2[point + i];
}
//以上3块 也可以使用memcpy()替换,如

result[len1 + len2] = 0;
return result;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式