操作UNICODE、ANSI及多字节字符串函数的区别 和 内存分配注意事项
2011-11-14 20:53
381 查看
计算字符串长度的方法,独立于字符编码格式:sizeof(szBuffer)/sizeof(TCHAR),同样申请空间时候也应该是malloc(nCharacters*sizeof(TCHAR)
记住:是字符数目,而非字节数目。sizeof结果是以字节为单位的,但是一个字符如果编码格式不同则字节个数是不相同的。
ANSI就是通常的函数,如strcpy、strlen、printf等
Unicode通常以w开头,如wcscpy、wcslen、wprintf等
MBCS通常以_mbs开头,如_mbscpy等。
Unicode说明符通常有:WCHAR、PWSTR、PCWSTR
ANSI说明符通常有:CHAR、LPSTR、LPCSTR
Unicode和ANSI通用数据类型为:TCHAR、PTSTR、LPCTSTR
ANSI常量: “string"
UNICODE常量:L"string"
Unicode和ANSI通用常量为:_T("string")、_TEXT("string")
参照:http://blog.sina.com.cn/s/blog_5ca9d9af0100dkws.html
记住:是字符数目,而非字节数目。sizeof结果是以字节为单位的,但是一个字符如果编码格式不同则字节个数是不相同的。
ANSI就是通常的函数,如strcpy、strlen、printf等
Unicode通常以w开头,如wcscpy、wcslen、wprintf等
MBCS通常以_mbs开头,如_mbscpy等。
Unicode说明符通常有:WCHAR、PWSTR、PCWSTR
ANSI说明符通常有:CHAR、LPSTR、LPCSTR
Unicode和ANSI通用数据类型为:TCHAR、PTSTR、LPCTSTR
ANSI常量: “string"
UNICODE常量:L"string"
Unicode和ANSI通用常量为:_T("string")、_TEXT("string")
参照:http://blog.sina.com.cn/s/blog_5ca9d9af0100dkws.html
相关文章推荐
- UNICODE、多字节(MBCS)、双字节(DBCS)、ANSI字符集、ASCII、宽字符 的区别与关联。
- 和内存操作相关的注意事项
- 【Visual C++ 2010】Unicode和ANSI的一些注意事项
- VBS对Excel操作的注意事项:[ Microsoft.Jet.OLEDB.4.0和Microsoft.ACE.OLEDB.12.0的区别]
- 内存的分配方式有几种? 动态内存的的传递注意事项!
- Android内存分配的注意事项
- 内存分配的几种方式,以及动态内存传递的注意事项
- Android内存分配的注意事项
- 【谨慎】ANSI与Unicode转换的注意事项
- ANSI和UNICODE编程的注意事项
- 程序员之---C语言细节22(函数返回指针注意事项<悬空指针>、查看进程能够分配的内存大小)
- Visual C++学习笔记1:一定要注意ANSI和UNICODE的区别
- naive date(time) 和aware date(time)的区别 及 pymongo操作dateime的注意事项
- 程序猿之---C语言细节22(函数返回指针注意事项<悬空指针>、查看进程可以分配的内存大小)
- vector,list,deque等内存分配及各方面的注意事项
- ANSI和UNICODE编程的注意事项
- 内存的分配方式, 进程和线程的区别, 进程间通信方式有哪些?各自有哪些优缺点?
- 明晰C++内存分配的五种方法的区别
- ANSI,ASCII,Unicode的区别与联系!
- 内存分配_栈与堆的区别