首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

!strcpy函数的有关问题

2012-08-30 
求助!!!_strcpy函数的问题!运行结果可以出来,可是结果后面还有一堆烫烫烫是怎么回事??代码如下:#include

求助!!!_strcpy函数的问题!
运行结果可以出来,可是结果后面还有一堆烫烫烫是怎么回事??代码如下:

#include "stdafx.h"
#include<iostream> 
using namespace std;

char *_strcpy(char *str1, char *str2)
{
char *p=str1;
  while(*str2)
{
*str1=*str2;
str2++;
str1++;
}
return p;

}

int _tmain(int argc, _TCHAR* argv[])
{
  char a[100],b[100];
  gets(b);
  _strcpy(a,b);
puts(a);
return 0;
}

[解决办法]
字符串是以'\0'结尾的。你的代码只拷贝了字符串的内容,没有拷贝'\0'。可以在目的字符串最后面自己加上。

C/C++ code
char *_strcpy(char *str1, char *str2){    char *p=str1;    while(*str2)    {        *str1=*str2;        str2++;        str1++;    }    *str1 = '\0';    return p;}
[解决办法]
_strcpy函数没拷贝'\0';
改成下面这样:
C/C++ code
char *_strcpy(char *str1, char *str2){    char *p=str1;    while(*str1++ =  *str2++)        ;    return p;    } 

热点排行