专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅
CString->std:: 例子: CString strMfc=“test“; std:: strStl; strStl=strMfc.GetBuffer(0); std::->CString 例子: CString strMfc; std:: strStl=“test“; strMfc=strStl.c_str; [阅读全文] [PDF]
CString是一种很特殊的C++对象,它里面包含了三个值:一个指向某个数据缓冲区的指针、一个是该缓冲中有效的字符记数(它是不可存取的,是位于CString地址之下的一个隐藏区域)以及一个缓冲区长度。有效字符数的大小可以是从0到该缓冲最大长度值减1之间的任何数(因为字符串结尾有一个NULL字符)。字符记数和缓冲区长度被巧妙隐藏。 (1)char*转换成CString   若将char*转换成CString,除了直接赋值外,还可使用CString::Format进行。例如: charchArray[]=\"Chartest\"; TCHAR*p=_T(\" [阅读全文] [PDF]
  这是初学者使用 CString 时最常见的问题。有了 C++ 的帮助,很多问题你不需要深入的去考虑它,直接拿来用就行了,但是如果你不能深入了解它的运行机制,又会有很多问题让你迷惑,特别是有些看起来没有问题的代码,却偏偏不能正常工作。比如,你会奇怪为什么不能写向下面这样的代码呢,整理发布,www. :CString graycat = \"Gray\" + \"Cat\"; 或者这样: CString graycat(\"Gray\" + \"Cat\");   事实上,编译器将抱怨上面的这些尝试。为什么呢?因为针对CString 和 LPCTSTR数据类型 [阅读全文] [PDF]
  现在你有一个 char* 类型的数据,或者说一个字符串。怎么样创建 CString 对象呢?这里有一些例子:char * p = \"This is a test\"; 或者象下面这样更具有 Unicode 意识: TCHAR * p = _T(\"This is a test\") 或 LPTSTR p = _T(\"This is a test\"); 你可以使用下面任意一种写法: CString s = \"This is a test\"; // 8-bit _disibledevent= \"This is a test\";   这是 [阅读全文] [PDF]
  这是一种略微硬性的转换,有关“正确”的做法,人们在认识上还存在许多混乱,正确的使用方法有很多,但错误的使用方法可能与正确的使用方法一样多。  我们首先要了解 CString 是一种很特殊的 C++ 对象,它里面包含了三个值:一个指向某个数据缓冲区的指针、一个是该缓冲中有效的字符记数以及一个缓冲区长度。有效字符数的大小可以是从0到该缓冲最大长度值减1之间的任何数(因为字符串结尾有一个NULL字符)。字符记数和缓冲区长度被巧妙隐藏。  除非你做一些特殊的操作,否则你不可能知道给CString对象分配的缓冲区的长度。这样,即使你获得了该0缓冲的地址,你也无法更改其中的 [阅读全文] [PDF]
 我们经常需要把一个 CString 的值传递给一个控件,比如,CTreeCtrl。MFC为我们提供了很多便利来重载这个操作,但是在大多数情况下,你使用“原始”形式的更新,因此需要将墨某个串指针存储到 TVINSERTITEMSTRUCT 结构的 TVITEM 成员中。如下:TVINSERTITEMSTRUCT tvi;CString s;// ... 为s赋一些值。tvi.item.pszText = s; // Compiler yells at you here// ... 填写tvi的其他域HTREEITEM ti = c_MyTree.InsertItem [阅读全文] [PDF]
1 共6条 分1页