我在使用MFC编程的过程中,出现了这样一个问题:
就是在我接收到数据后,把数据显示到一个CEdit控件上去,但是不知道为什么CEdit的对象指针老是在接收到数据后突然变为了空指针,我没有释放,对象函 数没有执行完也是不会释放的,不知道哪里把它变为了空指针。偶尔会提示什么 ReciveBuff is crumbled。。。
经过反复查找,发现是我自己写的收发函数有问题,没有给收到的数据长度做一个限定。
例如,我分配了一个 char buf【256】={0}; 的数组,但我收到的数据实际有 295 个字节,那么这样把数据写进去肯定会越界。
所以以后再写收发函数的时候,要把带出的数据长度做一个限定,防止越界问题出现。
本文详细阐述了在MFC编程过程中遇到CEdit控件接收数据后突然变为空指针的问题,原因在于未对收到的数据长度进行限定导致越界。通过案例分析,强调了在编写收发函数时进行数据长度限定的重要性,以避免类似错误的发生。
4190

被折叠的 条评论
为什么被折叠?



