读书人

为啥这个strcpy执行了程序就access

发布时间: 2013-03-14 10:33:15 作者: rapoo

为什么这个strcpy执行了,程序就access violation
是一个将一个哈希表里的单词导入到另一个数组里面
代码:
strcpy(temp[word_num].word,hlist[i].word);
之前已经导入了n个了,到了第n+1的时候,我用单步调试。
hlist[i].word 的值是:0x00000001“”“”
temp[word_num].word里面是:0x000f38c4“烫烫烫烫烫”

执行下一步就显示:unhandled exception in main。exe:0xc0000005:access violation的字样
这是为什么呢?
[解决办法]
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。
判断是否越界访问,可以在数组的最后一个元素之后对应的地址处设置数据读写断点。如果该地址对应其它变量干扰判断,可将数组多声明一个元素,并设置数据读写断点在该多出元素对应的地址上。

[解决办法]
访问越界了,这个要注意一下
[解决办法]
temp[word_num].word这个空间太小了,不停的往里填,导致其越界了!

读书人网 >C语言

热点推荐