c++ 的operator new 的问题
我在linux下用c++邦定gtk进行图形界面开发,我发现了一个问题:在我的程序中有这么一条命令:
char *text=new char[20];
我用gdb调试:这条语句之后用 print strlen(text)
竟然显示的是19,用print text 命令 显示的是一些别的字符,导致我无法进行strcat()操作,
我在另外一个小程序中专门检验了一次,我发现在小程序中,字符串分配完毕后长度是0,这才是正常的。
为什么在我的大程序中反而不对呢?
在new的分配操作时也没有显示错误,然后我用text[0]='\0';就可以进行strcat()操作了。
我想知道这是怎么回事,谢谢!