UNICODE下memset的使用

在多字节程序中,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);
赞(0) 打赏
取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

    暂无评论...