注册 登录
编程论坛 C++教室

字符数组strcpy作用的疑问

H 发布于 2009-12-30 19:09, 696 次点击
#include "stdafx.h"
#include <iostream.h>
#include <string.h>
class CStrOne   
{   protected:
    char *pstr;   
    public:     
    CStrOne( char str[ ])
    {   pstr=str;
    }        
    void show()
    { cout<<"strings="<<pstr<<endl;           
    }
};

class CStrTwo:public CStrOne   
{  
    char *newpstr;   
    public:     
      CStrTwo( char str1[ ],char str2[ ]):CStrOne(str1)
    {   newpstr=str2;
    }        
    void show()
    {   cout<<"strings1="<<pstr<<endl;
        cout<<"strings2="<<newpstr<<endl;           
    }

    void joint()
    {
   
        char temp[100];
      strcpy(temp, pstr);
      newpstr=strcat(temp,newpstr);
      cout<<newpstr<<endl;
     }
};

void main()
{   
   CStrTwo str("My Name is Lian",", 45 years old");
   str.show();
   str.joint();  
}

这段程序把    char temp[100];
      strcpy(temp, pstr);
      newpstr=strcat(temp,newpstr);
      cout<<newpstr<<endl;
改成   
      newpstr=strcat(pstr,newpstr);
      cout<<newpstr<<endl;

为什么结果不一样呢?
2 回复
#2
yangliangbin2009-12-31 09:48
顶~~~我也想知道
#3
秀痘魔导士2009-12-31 16:42
初始化之后长度固定,你这样做,比如你初始化6个字符的STRING,你如何能在后面再连接?肯定报错
1