TCHAR nameBuf[128] = {0};
_tcscpy /*memcpy*/( nameBuf, networkDestInfo.szDescription /*, sizeof(networkDestInfo.szDescription)*/ );
//其中 networkDestInfo.szDescription 为 TCHAR 类型数组,长度128
在debug时,networkDestInfo.szDescription中有内容,但 nameBuf 始终为空。
用memcpy也出现同样问题。
如何解决啊?
谢谢!
------解决方案--------------------
这样的问题只能自己慢慢跟了,
------解决方案--------------------
基本功问题。
任何时候,只要你在C中使用字符串,都要首先想到的是字符串必须是以‘\0 '结尾的。而函数StrCpy等都是用于字符串操作的。
你给出的代码的功能准确说不是复制字符串,而是数组对拷。所以,大可使用 For(i = 0; i <SIZE; i++)。
另外,MemCpy的使用应该不会出错的,因为它需要指定最多要复制的字符个数,因此只要目的缓冲区不会溢出即可。如果还是有问题,那只能是多调试下。