读书人

关于strcpy的bug的有关问题

发布时间: 2013-02-02 12:27:16 作者: rapoo

关于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;

读书人网 >C++

热点推荐