文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>VC图像处理(二):VC中的字符串

VC图像处理(二):VC中的字符串

时间:2010-11-01  来源:timke212004

   字符串操作由于涉及到指针所以很容易出错,VC进行了很多的字符串的封装,这也导致了对一些字符串类的混淆。在网上看到一篇pdf文章,对C++中的字符串及标准进行了总结,可以下载自: http://download.csdn.net/source/373184

    对此,作了些笔记: -

    1.Unicode编码标准一个字符都是16位,其代表类型是wchar_t,而TCHAR类型在采用Unicode方式编译时会使用wchar_t,而普通编译则是char。

    0.在Win16下有长指针(LP)与短指针(P)的区别,在Win32下没有区别,都是32位的。

    1.strlen 如果对LPCTSTR或者LPTSTR等UNICODE的字符串使用的话会得到原来长度的两倍。而应该用wcslen()或者lstrlen()。 lstrlen(LPCTSTR lpString),wcslen(const wchar_t *string),strlen(const char *string)。

    2.VC的字符串可以直接用CString str=“你好”或LPCTSTR str=“你好”。但是Embeded VC则必须用CString str=_T(“你好”)或者LPCTSTR str=“你好”。_T()宏中,括号中只能填写常量,不能填定变量。LPCTSTR在EVC里就是表示UNICODE字符串。

    3.CString是一个动态TCHAR数组,BSTR是专有格式字符串需要用系统提供的函数来操纵。LPCTSTR是一个常量的TCHAR指针。

    4.LPSTR 是一个指向以''结尾的ANSI字符数组指针,与char*可以互换使用。LPCSTR是LPSTR的const常量。LPWSTR与LPCWSTR的字符数据是16位的wchar_t。为了实现两种编码的通用,提出了TCHAR定义。

    如果定义了_UNICODE使用Unicode编译则声明为 typedef wchar_t TCHAR,而如果没有定义_UNICODE使用变通编译则声明为typedef char TCHAR。LPTSTR和LPCTSTR中的T字母表示每个字符都是TCHAR。CString中的字符是TCHAR型的。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载