在下面的代码中,我在strncpy中遇到访问冲突。VS2008的strncpy中的应用程序崩溃
if(WaitForSingleObject(RdStatShared.hMutex, INFINITE) == WAIT_OBJECT_0)
{
if(RdStatShared.Resp.itemLength != NULL)
{
strncpy((char*)TData[53], (char*)RdStatShared.Resp.itemLength, (size_t)0x01);
}
ReleaseMutex(RdStatShared.hMutex);
}
RdStatShared是跨项目使用的共享对象。由于它是随机更新的,我想在读取对象之前锁定对象。 TData是长度为1024的BYTE类型,itemLength是UCHAR。
在调试代码时,在汇编代码中,我看到将源字符串复制到临时缓冲区时发生访问冲突。 任何人都可以告诉为什么访问冲突发生在strncpy?
感谢您提供任何有用的信息。
Lakshmi。
itemLength真的是UCHAR?不是UCHAR *?如果是这样,我确实认为这是问题... – 2011-05-02 21:06:22