在多字节程序中,memset及ZeroMemory的使用很清楚,如:
char str[10];
memset(str,0,10)或memset(str,0,sizeof(str));
ZeroMemory(str,10)或ZeroMemory(str,sizeof(str))
其中:sizeof(str)==10;
在UNICODE下,应该这样用:
TCHAR str[10];
memset(str,0,20)或memset(str,0,sizeof(str));
ZeroMemory(str,20)或ZeroMemory(str,sizeof(str))
memset(str,'\0',sizeof(str))或memset(str,'\0',20)
memset(str,TEXT('\0'),10*sizeof(TCHAR));
其中:sizeof(str)==20,str字符串分配的内存字节数;若用 wcslen(str),应该是str字符串的实际个数(有效字符个数);
=================================================
在定义时也可以将内存清0,如:TCHAR str[10]=_T("");
TCHAR str[10]=_T("");
等同于
TCHAR str[10];
memset(str,0,20);