永发信息网

求解!C++编程题

答案:2  悬赏:80  手机版
解决时间 2021-04-26 07:04

有一字符串,包含n个字符。写一函数copystr(),将此字符串中从第m个字符开始的全部字符复制成为另外一个字符串。部分程序如下:

#include <iostream>

using namespace std;

int main()

{void copystr(char *,char *,int);

int m;

char str1[20],str2[20];

cout<<"input string:";

gets(str1);

cout<<"which character do you want begin to copy?";

cin>>m;

if (strlen(str1)<m)

cout<<"input error!"<<endl;

else

{copystr(str1,str2,m);

cout<<"result:"<<str2<<endl;

}

return 0;

}

void copystr(char *p1,char *p2,int m) //字符串部分复制函数*/

最佳答案

#include <iostream>
#include "string.h"


using namespace std;


void copystr(char *,char *,int);


void main()
{
int m;
char str1[20],str2[20];
cout << "Input string:";
cin >> str1;
cout << "which character do you want begin to copy?"<< endl;
cin >> m;
if(strlen(str1) < m)
cout<<"result:"<<str2<<endl;
else
copystr(str1,str2,m);
}


void copystr(char *p1, char *p2,int m)
{
int i;
for(i = 0; p1[m] != '\0'; i ++,m ++)
p2[i] = p1[m];
p2[i+1] = '\0';
cout << p2;
}



======================


写完整了,把你主体的稍微做了一点点改变。

全部回答
void copystr(char* p1, char* p2, int m) { memset(p2, 0, strlen(p1)); memcpy(p2, p1 + m - 1, strlen(p1) - m + 1); }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
急!在线等!请问我是不是怀孕了?
台州椒江或者路桥哪里有学柔道或者空手道的??
AVA什么时候出来啊,怎么玩啊?
一代的密保只要绑定手机就可以改吗?
问道过小飞要多少道行
格迪设计装饰在哪里啊,我有事要去这个地方
q宠物品一栏为什么打不开
众鑫首饰在哪里啊,我有事要去这个地方
谁有反网络剪刀手或者有办法阻止的方法
去学校学化妆多少钱,二十一岁了,还可以去学
下载U盾证书的时候不成啦
路飞最后有没有当上海贼王????
梦幻诛仙23级在哪打经验最高
求手机充QB步骤!
不要羡慕,不要嫉妒,不要难过。你只需努力做
推荐资讯
iphone 3gs 连接91问题
图片在电脑怎么找
求 飘渺之旅 续集
悼念朋友去世的诗词
怎样才能使打学生活不会变的那么无聊。
手机淘宝怎样查看等级,淘宝账号等级在哪里看
求一个支持分级管理得网络相册
想买一对高达基一下1hguc独角兽+报丧女2hguc
如何有效地美白,简单点
丰都县公安局交通巡逻警察大队十中队在什么地
冒险岛078什么时候更新
我要加CF战队。。。税收我?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?