MFC 长时间运行出现 Buffer too small 错误

2022-06-16 10:29:08 +08:00
 s609926202

网上查了一下,大概是以下代码引起的:

DWORD g_index;
void main ()
{
  CString B;
  B.Format(L"%d", g_index + 1); // 时间长会报错:Buffer too small
  g_index++;
}

上述代码是在 MFC List 表格组件中用来生成自增 ID ,1 、2 、3...的
App 长时间运行就会出现 Buffer too small ,结合网上查询猜测可能是上述代码引起的。

所以请教一下如何解决呢?

1467 次点击
所在节点    C++
3 条回复
dearmymy
2022-06-16 10:52:53 +08:00
竟然是 没饭吃,猜测是 CString b 是不是放的位置不对,比如放到 for 循环内部?你试试把 b 变量也全局变量下
s609926202
2022-06-16 11:12:55 +08:00
@dearmymy

我是放到 afx_msg LRESULT CChatRecords::OnShowmessage(WPARAM wParam, LPARAM lParam) {} 里的
minami
2022-06-16 11:17:05 +08:00
%d->%u

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/859952

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX