LPCTSTR 操作符(或者更明确地说就是 TCHAR * 操作符)在 CString 类中被重载了,该操作符的定义是返回缓冲区的地址,因此,如果你需要一个指向 CString 的 字符串指针的话,可以这样做: CString s("GrayCat"); LPCTSTR p = s; 它可以正确地运行。这是由C语言的强制类型转化规则实现的。当需要强制类型转化时,C+...
LPCTSTR 操作符(或者更明确地说就是 TCHAR * 操作符)在 CString 类中被重载了,该操作符的定义是返回缓冲区的地址,因此,如果你需要一个指向 CString 的 字符串指针的话,可以这样做: CString s("GrayCat"); LPCTSTR p = s; 它可以正确地运行。这是由C语言的强制类型转化规则实现的。当需要强制类型转化时,C+...
operator LPCTSTR() {...}, 直接返回他所维护的字符串。 当你需要一个const char* 而传入了CString时, C++编译器自动调用 CString重载的操作符 LPCTSTR()来进行隐式的类型转换。 当需要CString , 而传入了 const char* 时(其实 char* 也可以),C++编译器则自动调用CString的构造函数来构造临时的 CString对象。
CString类和LPCTSTR的关系:MSDN上说“CString objects follow "value semantics." Think of a CString object as an actual string, not as a pointer to a string.”也就是说用的时候除了考虑使用它的成员函数的方式,就把它当作普通的c-style字符串来使用就行了。你可以在构造函数中使用LPCTSTR: CString str("...
CString string1 = _T(“string”);char*str = (LPTSTR)(LPCTSTR)string1; 3)也可使用函数strcpy实现转换。 4)使用CString的GetAt()函数: CString string1 = _T("string");char*str = string1.GetAt(0); 即获取下标为0的字符。 2:*char -> CString ...
2. 将CString转化为char*,如 CString str=“yangbo”; char *p; p=str.GetBuffer(); delete p; 将char*转化为CString,如: char* p=”yangbo”; p[len(p)]=’\0’; Cstring str(p); char* 和char数组的转化: char buf[5] ={‘a’,’b’,’c’}; ...
把这句话 pFile = (LPSTR)(LPCTSTR)finder.GetFilePath();改为 下面2句 CString str = finder.GetFilePath();pFile = (LPSTR)(LPCTSTR) str;你的程序就没问题了 下面看偶的分析 第一 char* pFile;TCHAR* p;你让 p = pFile ; 居然没出问题 说明 你的char 和 TCHAR 是一样的玩意 你多...
std::auto_ptr<std::string> ps (new std::string(str));C++ 11shared_ptr unique_ptr weak_ptr auto_ptr(被 C++11 弃用)Class shared_ptr 实现共享式拥有(shared ownership)概念。多个智能指针指向相同对象,该对象和其相关资源会在 “最后一个 reference 被销毁” 时被释放。为了在结构较复杂的情景中执行...
int capacity()const; //返回当前容量(即string中不必增加内存即可存放的元素个数) int max_size()const; //返回string对象中可存放的最大字符串的长度 int size()const; //返回当前字符串的大小 int length()const; //返回当前字符串的长度 bool empty()const; //当前字符串是否为空 ...
std::auto_ptr<std::string> ps (new std::string(str));C++ 11shared_ptr unique_ptr weak_ptr auto_ptr(被 C++11 弃用)Class shared_ptr 实现共享式拥有(shared ownership)概念。多个智能指针指向相同对象,该对象和其相关资源会在 “最后一个 reference 被销毁” 时被释放。为了在结构较复杂的情景中执行...