您的位置:首页 > 其它

黑人写给白人De一封信

2010-01-31 13:11 309 查看

memcpy,_tcscpy_s的使用

我想完成的任务:
对于一个字符串 LPCTSTR sourceCode
根据某些符合条件的字串subStr拷贝到一个新的字符串中。
使用安全的拷贝函数:_tcscpy_s实际是一个宏,根据是多字节编码或者是Unicode编码而调用不同的函数。
在tchar.h中我们可以找到:
#ifdef _UNICODE
.......
#define _tcscpy_s wcscpy_s
.......
#else
....
#define _tcscpy_s strcpy_s
...
#endif
原型:
_Check_return_wat_ _CRTIMP_ALTERNATIVE errno_t __cdecl wcscpy_s(_Out_z_cap_(_DstSize) wchar_t * _Dst, _In_ rsize_t _DstSize, _In_z_ const wchar_t * _Src);
使用:
wcscpy_s(dest,count,src);
src不得多于count-1个字符;
该函数最多将count-1个字符从src拷贝到dest中,然后在会在dest的字符串后面自动的加上'\0'
其中count是字符数,而不是字节数。

解析memcpy
使用 void* memcpy(void* dest , const void* src, size_t count);
特别注意这里的count指的是字节数。
当source中的字符数<count时memcpy会在将count后面全部清零。
但是允许拷贝count*sizeof(TCHAR)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: