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

关于strcpy的bug的有关问题

2013-02-02 
关于strcpy的bug的问题char* src new char[10]memset(src, 1, 10)char* dest new char[20]strcpy(d

关于strcpy的bug的问题
char* src = new char[10];
memset(src, 1, 10);
char* dest = new char[20];
strcpy(dest, src);
在这个例子中,我们不容易发现strcpy这个语句中有Bug。因为src没有休止符。
//请大家分析一下以上代码到底有什么BUG呢,我没发现这段代码有bug啊!


char* src = "hello world!";
char* dest = new char[10];
strncpy(dest, src, strlen(src)); // 这里有bug
//请大家分析一下以上代码到底有什么BUG呢,我没发现这段代码有bug啊!
[解决办法]
char* src = new char[10];
src[9]=0;
char* dest = new char[20];
strcpy(dest, src);


char* src = "hello world!";
char* dest = new char[10];
strncpy(dest, src, 9));dest[9]=0;

热点排行