C++指针问题?

来源:百度知道 编辑:UC知道 时间:2024/05/12 20:28:31
void main(void)
{
     char *p="abcdefg";
     char *str;
     str=new char[strlen(p)];
     while(*p!='\0')
     {
          *str=*p;
          str++;
          p++;
          cout<<'\t'<<p<<endl;
     }
     *str='\0';
     cout<<str<<endl;
}
最后一句COUT输出为空,原因是str指向最后一个字符,我要怎么做,才能
正确打印str这个指针呢?

void main(void)
{
    char *p="abcdefg";
    char *str, *strbk;
    strbk = str = new char[strlen(p)];
    while(*p!='\0')
    {
        *str=*p;
        str++;
        p++;
        cout<<'\t'<<p<<endl;
    }
    *str='\0';
    cout<<strbk<<endl;
}

备份一下原来的位置呗。

字符串的赋值用"="号不行吧,
你用strcpy或者用strcat,都可以.一个是复制,一个是加在尾端,看你
自己想怎么用了

我学C++就不太会指针,特别是NEW指针,晕死