- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
TB_GETBUTTONTEXT 的文档表示处理程序必须返回字符数,并且可以选择(如果 lParam
不为空)将字符串复制到提供的缓冲区中。
需要注意的是长度不包括终止字符。我看到以下问题。假设处理程序存储预先计算的字符串(因此它的长度不会改变)。首先,调用者发送消息并将 lParam
设置为 null - 以查找字符数 - 处理程序返回字符数而不以 null 结尾。然后调用者分配内存并再次发送消息 - 这次将缓冲区地址作为 lParam
传递。
处理程序是否应该复制终止空值?我的意思是,如果处理程序第一次返回 N
并且调用者为 N
字符分配了空间并且处理程序附加了一个终止空值,那么就会发生缓冲区溢出。但是,如果调用者确实希望字符串以 null 终止并为 N+1
字符分配空间并且处理程序不附加 null 终止符,则处理程序将有一个不以 null 终止的字符串并且缓冲区溢出可能再次发生(如果调用者不够小心)。
那么handler应该怎么做呢?它是否应该复制空终止符?
最佳答案
MFC 在其 CMFCToolBar::OnGetButtonText() 实现中使用明智的方法,它假设调用者知道它应该分配 N+1 并使用 lstrcpy() 复制文本。
关于windows - 谁负责在处理 TB_GETBUTTONTEXT 时放置空终止符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3447228/
我新发现了 Perl fork ,我非常喜欢。但有一件事让我担心——如果我只是左右分离进程,这肯定会在某个地方引起一些问题。是否应该使用一种合理的检查来确保我的小应用程序不会占用我机器的所有资源? 拿
谁负责 MVVM 中的异步数据获取?例如,我的 View 有 5 个不同的数据集合要获取,我希望按预定义的顺序异步检索这些数据。为此,我使用协程和任务。 问题:VM 是否对此负责,我的模型/存储库应该
我有什么 ember-cli POD 结构。我有嵌套的路由,因此有以下文件夹结构: | |_pods |_items |_index | |_
我有一个 C# WPF 应用程序,它从数据库中读取数据然后做一些工作。但问题是当我读取数据时,我的 UI 没有响应。我已经尝试过任务和调度程序。他们都没有帮助。下面的代码在 button_click
在使用 /sys/class/leds/ 摆弄 LED 之后,我现在正试图了解如何使用 linux kernel power supply attributes 控制计算机中的电池。 ,特别是 CHA
我在我的桌面应用程序中做了一些非常简单的错误记录,该应用程序通过 SerialPort 与设备通信。我做的一件事是设置一个全局异常捕获器,它除了使用以下方法记录堆栈跟踪外什么都不做: AppDomai
我是一名优秀的程序员,十分优秀!