VC里面到底有多少字符串的类型
CString?char?TCHAR???........
常用的有哪些呢?各有什么区别阿?有这方面资料吗?谢谢!
CString?char?TCHAR???........
常用的有哪些呢?各有什么区别阿?有这方面资料吗?谢谢!
解决方案 »
- 线程中的编号显示为什么会显示有相同的号?
- 不能将参数 从“wchar_t *”转换为“const char *”问题
- 学习网络编程 有什么好的视频教程吗?有的话能告诉我下载地址吗?
- 500分求2阶、3阶NURBS曲线转成2阶Bezier算法
- 如何实现CEdit对象显示的一部分内容是不能进行修改的 另一半是可以进行编辑的
- 关于从LIUNX到windwos移植的问题
- CHtmlView::GetSource()得到乱码怎么办?
- 本人一直想如何动态产生 数据库连接字符窜,就是不知道如何实现,急啊
- 请教,为什么我定义了一个string变量,在程序结束时不能析构?
- B样条和NURBS曲面的计算
- 关于RegisterClassEx( &wc ) == 0问题
- 奇怪。。。 同一段代码, 在不同地方有不同较果!!!
用哪个都可以,它们之间可以互相转化的,根据你调用函数的参数采取相应类型
BSTR(Basic STRing,Basic字符串)是一个OLECHAR*类型的Unicode字符串。它被描述成一个与自动化相兼容的类型。由于操作系统提供相应的API函数(如SysAllocString)来管理它以及一些默认的调度代码,因此BSTR实际上就是一个COM字符串,但它却在自动化技术以外的多种场合下得到广泛使用。图1描述了BSTR的结构,其中DWORD值是字符串中实际所占用的字节数,且它的值是字符串中Unicode字符的两倍。 LPSTR和LPWSTR是Win32和VC++所使用的一种字符串数据类型。LPSTR被定义成是一个指向以NULL(‘\0’)结尾的8位ANSI字符数组指针,而LPWSTR是一个指向以NULL结尾的16位双字节字符数组指针。在VC++中,还有类似的字符串类型,如LPTSTR、LPCTSTR等,它们的含义如图2所示。 例如,LPCTSTR是指“long pointer to a constant generic string”,表示“一个指向一般字符串常量的长指针类型”,与C/C++的const char*相映射,而LPTSTR映射为 char*。 一般地,还有下列类型定义:#ifdef UNICODE
typedef LPWSTR LPTSTR;
typedef LPCWSTR LPCTSTR;
#else
typedef LPSTR LPTSTR;
typedef LPCSTR LPCTSTR;
#endif 二、CString、CStringA 和 CStringW 中将CStringT作为ATL和MFC的共享的“一般”字符串类,它有CString、CStringA和CStringW三种形式,分别操作不同字符类型的字符串。这些字符类型是TCHAR、char和wchar_t。TCHAR在Unicode平台中等同于WCHAR(16位Unicode字符),在ANSI中等价于char。wchar_t通常定义为unsigned short。由于CString在MFC应用程序中经常用到,这里不再重复。
char *ss=temp.GetBufferSetLength(temp.GetLength());
可以完成从CString到char*的转化
c++:
CString str = "123";
c:
char * p = "123";
char t[4]= = "123";字符:
char ch = 'a';
宽字符 tch = '中';
http://www.codeproject.com/string/cppstringguide1.asp
http://www.codeproject.com/string/cppstringguide2.asp
http://www.devguy.com/fp/Tips/COM/bstr.htm