习题 6.7 有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。
代码:
#include<iostream>
using namespace std;
int main()
{
char arr[100],arr1[100];
int n,m;
int func(char (&) [100]);
void func_1(char* ,char*, int , int );
cout << "请输入一个字符串:" << endl;
cin.get(arr, 100);
n = func(arr); //n为求输入的字符串长度
cout << "请输入m:" << endl;
cin >> m;
func_1(arr1,arr,m,n); //将从m开始的字符串arr复制到arr1中
cout << "复制的字符串为:" << endl;
for (char* p = arr1; p < arr1 + n - m; ++p) //输出新字符串
{
cout << *p;
}
return 0;
}
int func(char(& arr_)[100])
{
int i;
char * p;
for (i = 0, p = arr_; *p != '\0'; ++i,++p);
return i;
}
void func_1(char* arr_1,char* arr_,int m_1,int n_1)
{
int i;
char* p;
for(i = 0,p = arr_ + m_1 ; p < arr_ + n_1 ; ++p , ++i) //将第m到第n个字符赋给新字符串
{
*(arr_1 + i) = *p ;
}
}