1. 很多控件可能都要使用CString,比如CToolTipCtrl.GetText()

如果我一开始,

m_ToolTip.AddTool(this, m_str, &rect, TTS_ALWAYSTIP);

其中 m_str 的长度超过256字节,注意是字节,如果是UNICODE下,那就128 TCHAR。

当长度超过了256字节时,GetText()就报错,这令我相当郁闷哪!

老MFC很多内部结构存有固定数组,需要固定长度的。超出长度就会造成数组越界。

涉及到这些固定数组的API,MSDN又没好好的说明一下,着实让人头头疼。

虽然说在以前的时间,内存相当小,用固定数组是可以理解,但做这个API的人,你至少也得说明一下吧。

哪里用了固定数组,不然越界还要我们自己查。。。

2. 同样 TRACE 能处理的最大长度是 512 个 TCHAR, 即1024 byte.这些都要跟踪到MFC的代码才知道的。真是无语了!。。。

关于MFC的CString 访问越界问题相关推荐

  1. 【MFC】MFC基础类——CString(使用心得)

    文章目录 01.CString类介绍 02.常见函数表 03.CString类成员函数示例 3.1.CString(构造函数) 3.2.GetLength 3.3.IsEmpty 3.4.Empty ...

  2. MFC中CString.format用法

    MFC中CString.Format的详细用法 收藏  在MFC程序中,使用CString来处理字符串是一个很不错的选择. CString既可以处理Unicode标准的字符串,也可以处理ANSI标准的 ...

  3. gflags调试访问越界

    2011-9-27 烛秋 昨天.今天调dump,对windbg相当的不熟悉,但也慢慢的知道了一些常用的命令,几周前听说到有gflags这样个工具,今天正好测试下. gflags.exe是<Deb ...

  4. MFC中CString.Format的用法

    http://www.cnblogs.com/kongtiao/archive/2012/06/13/2548033.html 在MFC程序中,使用CString来处理字符串是一个很不错的选择.CSt ...

  5. MFC C++ Cstring与string互转

    CString 转换成string 我试了很多的方法,都不行,我用的vs2010 ------解决方案-------------------- unicode: CString sz1 = L&quo ...

  6. MFC子线程访问主线程对话框程序的控件对象

    最近在使用 VC 开发软件时需要用到多线程同步来解决开发过程中遇到的问题.本来以为只要象控制台程序一样,在主线程创建子线程,并设置好相应的对象事件就能解决问题,但是等到真正做起来,才在实践中发现原来事 ...

  7. MFC中CString转换成char数组的问题

    由于结构体中用到联合体(联合体需要确定分配内存分配大小)或其它因素,需要用char数组来保存字符串,但是在MFC中一般都是用CString来存放字条串.关于它们之间的转换,在VS2008中有时会出现异 ...

  8. MFC之CString与const char* string 转换

    MFC开发时经常会遇到CString.string/std::string.char*等类型相互转换的问题,现将一些思考与心得记下来与大家分享: 一.CString强制类型转换为const char* ...

  9. MFC通过sql访问excel的方法

    1.首先检查安装的驱动中是否有excel,代码如下: CString CAbcd1Dlg::GetExcelDriver() { TCHAR sBuf[1000], *p=sBuf; WORD sBu ...

最新文章

  1. 云原生时代下的12-factor应用与实践
  2. 数据中心2022:绿色的下一步是智能化
  3. 新国货品牌数字营销系列报告丨探析鞋服行业数字营销一体化建设
  4. Scala变量介绍及入门示例
  5. LeetCode 23 合并K个升序链表
  6. PHP不同域名cookie共享(单点登录实现原理)
  7. openwrt 挂载摄像头
  8. Intellij Idea上传本地项目到Git
  9. yiilite.php,缓存 - yii在哪些情况下可以加载yiilite.php?
  10. 福建学业水平测试计算机考点大纲,福建高中信息技术学业水平考试说明大纲
  11. android手机测试”
  12. 华为“天才少年”稚晖君又出新作,从零开始造“客制化”智能键盘
  13. 6410裸机加载linux内核,KG—Tiny6410裸机环境搭建(补充篇)
  14. kettle连接12c_kettle 链接oracle12c
  15. javascript 取整,取余数
  16. 怎样修改mysql密码
  17. DDL、DML介绍及常用语句
  18. 许远东:砥砺互联网,有人是先锋,有人是炮灰
  19. 【Kotlin 协程】Flow 异步流 ④ ( 流的构建器函数 | flow 构建器函数 | flowOf 构建器函数 | asFlow 构建器函数 )
  20. 实景三维技术为化工安全生产保驾护航

热门文章

  1. 高低配系统直流控制电源技术知识点
  2. 数据中心管理中的人工智能:其对人员配置和流程意味着什么?
  3. android程序退出 语句,android开发中continue,break、return的区别与使用
  4. node mysql 多个_使用Node.js处理多个MySQL查询
  5. ML之FE:特征工程中的特征拼接处理(常用于横向拼接自变量特征和因变量特征)(daiding)
  6. Python之pypmml:pypmml的简介、安装、使用方法之详细攻略
  7. 成功解决pandas.core.frame.DataFrame格式数据与numpy.ndarray格式数据不一致导致无法运算问题
  8. Python基础 --- 使用 dict 和 set
  9. 解密虚拟 DOM——snabbdom 核心源码解读
  10. Flask 系列之 部署发布