您的位置:首页 > 编程语言 > C语言/C++

《面向对象程序设计与VC++实现》--liwei_2_1(字符串基本操作 求长度、复制、连接)

2005-11-05 11:04 381 查看
//--《面向对象程序设计与VC++实现》
//--Liwei_2_1
//--字符串基本操作(长度、复制、连接)
//--11/5/2005 Sat. morning  8:00--12:00
//--Computer Lab
#include <iostream>
using namespace std;
int StrLength(char *str);
char *StrCopy(char *str1,char *str2);
char *StrLink(char *str1,char *str2);
int main()
{
  char string1[80],string2[80];
  cout<<"Please enter string1 and string2:"<<endl;
  cin>>string1>>string2;
  cout<<"string1 length is:"<<StrLength(string1)<<endl; 
  cout<<"string2 length is:"<<StrLength(string2)<<endl;
  cout<<"string2 copy to string1:"<<StrCopy(string1,string2)<<endl;
  cout<<"string1 copy to string2:"<<StrCopy(string2,string1)<<endl;
  cout<<"string2 StrLink to string1:"<<StrLink(string1,string2)<<endl;
  cout<<"string1 StrLink to string2:"<<StrLink(string2,string1)<<endl;
  return 0;
}
int StrLength(char *str)
{
   int i=0;
   while(*str++!='/0') //此处的指针str是形参,故为一局部变量
    i++;
   return i;
}
char *StrCopy(char *str1,char *str2)
{
   /*  //也可以用以下代码实现
   int i=0;
   for(i=0;i<StrLength(str2);i++) 
  str1[i]=str2[i];
   str1[i]='/0';
   return str1; 
   */ 
   char *p=str1;;//开始时忘了记下str1的值
   while(*str2!='/0')
 *str1++=*str2++;
   *str1='/0';//表示字符串结束
   return p;
}
char *StrLink(char *str1,char *str2)
{
   /*
 //也可以用以下代码实现
   int i,j=0;
   for(i=StrLength(str1); (i<StrLength(str1)+StrLength(str2)) && (j<StrLength(str2));
i++,j++) 
  str1[i]=str2[j];
   str1[i]='/0';
   return str1; 
   */ 
 char *p=str1;
   while(*str1!='/0')
    str1++;
   while(*str2!='/0')
    *str1++=*str2++;
   *str1='/0';//表示字符串结束
   return p;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vc++ string iostream
相关文章推荐