char message[16]={'a','d','_','4','4'};
char *temp=new char[2];
ZeroMemory(temp,2);
for (int i=0;i<2;i++)
{
temp[i]=message[i];
}
这个程序运后的结果:temp="ad      Q";  
                    int len=strlen(temp);  //得到长度为10;
                    这是为什么。
    我想要的结果是:temp="ad";

解决方案 »

  1.   

    那我具体怎么写了:如果这样的话
    char message[16]={'a','d','_','4','4'};
    char *temp=new char[2+1];
    ZeroMemory(temp,2+1);
    for (int i=0;i<3;i++)
    {
    temp[i]=message[i];
                      if(i==2) }
    这个程序运后的结果:temp="ad      Q";  
                        int len=strlen(temp);  //得到长度为10;
      

  2.   

    那我具体怎么写了:如果这样的话
    char message[16]={'a','d','_','4','4'};
    char *temp=new char[2+1];
    ZeroMemory(temp,2+1);
    for (int i=0;i<3;i++)
    {
    temp[i]=message[i];
                      if(i==2)
                      {
                          temp[2]='0';
                       } }
    这样写吗?可是得到的结果为temp="ad0      ";