第31页 字符和字符串处理
- 章节名:字符和字符串处理
- 页码:第31页
自从windows NT起,windows的所有版本都由UNicode来构建。即使向传入ANSI字符串(由单字节字符组成的字符串),那么函数首先会把字符串转换为Unicode,再把结果传给操作系统。 引自 字符和字符串处理 C运行库中的ANSI函数和Unicode函数 strlen-----返回ANSI字符串的长度 wcslen------返回Unicode字符串长度 C运行库中的安全字符串函数
任何修改字符串的函数都存在一个安全隐患:目标字符缓冲区不够大,无法容纳所生成的字符串,就会导致内存中的数据被破坏。 引自 字符和字符串处理 StrSafe.h自动包含string.h _tcscpy_s _tcscat_s windows字符串函数 ShlwApi.h CompareString------对两个字符串进行比较 CompareStringOrdinal-------对两个字符串进行比较 GetThreadLocale--------得到主调线程的LCID 为何要使用Unicode字符串 1.Unicode有利于程序的本地化 2.使用Unicode,只需要发布一个二进制(exe & dll)文件,即可支持所有语言 3.Unicode提升了应用程序的效率,因为代码执行速度更快,占用内存更少传入ABSI字符串会迫使windows分配内存来转换字符串 4.使用Unicode能轻松调用所有未弃用的windows函数 5.应用程序的代码很容易与COM集成 6.应用程序的代码很容易与.net framework集成 7.保证应用程序代码能轻松操纵我们自己的资源 Unicode与ANSI字符串转换 MultiByteToWideChar------将多字节字符串转换为宽字节字符串 WideCharToMultiByte------将宽字符字符串转换为多字节字符串 IsTextUnicode-------判断文本文件是ANSI还是Unicode
70人阅读
说明 · · · · · ·
表示其中内容是对原文的摘抄