第18周报告1:指向字符的指针

来源:互联网 发布:阜阳数据库工程师招聘 编辑:程序博客网 时间:2024/06/05 12:40

任务:有一字符串,包含n个字符。实现函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串,当m值大于str1的长度n时,输出空字符串。


实验目的:学会指针访问字符数组

实验内容:从字符数组中取出指定位置开始的子符串

/* 程序头部注释开始* 程序的版权和版本声明部分* Copyright (c) 2011, 烟台大学计算机学院学生* All rights reserved.* 文件名称:  substr.cpp                           * 作    者:  贺利坚                           * 完成日期:  2011 年 12 月 22 日* 版 本 号:  v1.0       * 对任务及求解方法的描述部分* 输入描述:字符串str1和开始位置m* 问题描述:将字符串str1中从第m个字符开始的全部字符复制成为另一个字符串并输出。* 算法说明:若m大于str1的长度,返回空串,否则,复制从m位置开始的直到结束的所有符号。*/#include <iostream>using namespace std;void fun(char*, char*, int);int main(){  charstr1[100]="I am a student",str2[100];  int m;  cin>>m;  fun(str1,str2,m);  cout<<str2<<endl;  return 0;}void fun(char *p1, char *p2,  int m){   intn=strlen(p1);   if(n<m)    {              cout<<"No trans\n";              *p2='\0';   //此处必须有赋值,否则不能称为字符串,当然,空串也是串。              return;    }   p1=p1+m-1;   for(int i=m;i<n;i++)          *p2++=*p1++;   *p2='\0';    //复制完后,结尾应该赋值'\0',作为字符串结束   return;}


终于能在CSDN上再发博文了。接受了一次帐户安全教育。

原创粉丝点击