请教如何解决buffer too small 这个问题 我用的是swprintf_s这个函数

la_vie_est_belle
Python领域优质创作者
博客专家认证
2016-10-06 08:12:13
哪位大神帮我解决下buffer too small 这个问题,我用的是swprintf_s这个函数。

关键代码如下:

HBITMAP g_hSprite2_1[6];

wchar_t filename4[30];

for (int i = 0; i < 6; i++)
{
memset(filename4, 0, sizeof(filename4));
swprintf_s(filename4, L"Bmp\\英雄2技能1_%d.bmp", i);

g_hSprite2_1[i] = (HBITMAP)LoadImage(NULL, filename4, IMAGE_BITMAP, 200, 116, LR_LOADFROMFILE);
}

...全文
780 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
la_vie_est_belle 2016-10-07
  • 打赏
  • 举报
回复
引用 11楼paschen 的回复:
[quote=引用 10 楼 La_vie_est_belle 的回复:] [quote=引用 9 楼 paschen 的回复:] [quote=引用 7 楼 La_vie_est_belle 的回复:] [quote=引用 6 楼 paschen 的回复:] 帮你测试了,没有问题
那出现这个问题的原因会是什么呢= = [/quote] 那你试下数组大一点呢[/quote] filename4这个么 不行。。。 那个Line:280就是 代码第280行么[/quote] 是,点重试,再点中断,通过调用堆栈定位到相关代码观察分析原因[/quote]谢谢啊,解决了!是因为用来显示消息的wchar_t text 数组数设小了。 :)
la_vie_est_belle 2016-10-07
  • 打赏
  • 举报
回复
引用 13楼ws_yqr 的回复:
[quote=引用 4 楼 La_vie_est_belle 的回复:] [quote=引用 2 楼 wang0635 的回复:] swprintf_s(filename4, 30, L"Bmp\\英雄2技能1_%d.bmp", i);
不行诶。。。那个30这个数不是省略也可以的么[/quote] int swprintf_s( wchar_t *buffer, size_t sizeOfBuffer, const wchar_t *format, ... ); 30不能省啊,L"Bmp\\英雄2技能1_%d.bmp"被作为size_t类型解析了[/quote]L不是代表了宽字符么,所以应该就是第三个参数。 还有其实就算加上30也还是不行 T-T
ws_yqr 2016-10-07
  • 打赏
  • 举报
回复
引用 4 楼 La_vie_est_belle 的回复:
[quote=引用 2 楼 wang0635 的回复:] swprintf_s(filename4, 30, L"Bmp\\英雄2技能1_%d.bmp", i);
不行诶。。。那个30这个数不是省略也可以的么[/quote] int swprintf_s( wchar_t *buffer, size_t sizeOfBuffer, const wchar_t *format, ... ); 30不能省啊,L"Bmp\\英雄2技能1_%d.bmp"被作为size_t类型解析了
la_vie_est_belle 2016-10-06
  • 打赏
  • 举报
回复
引用 11楼paschen 的回复:
[quote=引用 10 楼 La_vie_est_belle 的回复:] [quote=引用 9 楼 paschen 的回复:] [quote=引用 7 楼 La_vie_est_belle 的回复:] [quote=引用 6 楼 paschen 的回复:] 帮你测试了,没有问题
那出现这个问题的原因会是什么呢= = [/quote] 那你试下数组大一点呢[/quote] filename4这个么 不行。。。 那个Line:280就是 代码第280行么[/quote] 是,点重试,再点中断,通过调用堆栈定位到相关代码观察分析原因[/quote]那个中断后面我就看不懂了。。。就是定位到错误地方咩。 0-0
paschen 2016-10-06
  • 打赏
  • 举报
回复
引用 10 楼 La_vie_est_belle 的回复:
[quote=引用 9 楼 paschen 的回复:] [quote=引用 7 楼 La_vie_est_belle 的回复:] [quote=引用 6 楼 paschen 的回复:] 帮你测试了,没有问题
那出现这个问题的原因会是什么呢= = [/quote] 那你试下数组大一点呢[/quote] filename4这个么 不行。。。 那个Line:280就是 代码第280行么[/quote] 是,点重试,再点中断,通过调用堆栈定位到相关代码观察分析原因
la_vie_est_belle 2016-10-06
  • 打赏
  • 举报
回复
引用 9 楼 paschen 的回复:
[quote=引用 7 楼 La_vie_est_belle 的回复:] [quote=引用 6 楼 paschen 的回复:] 帮你测试了,没有问题
那出现这个问题的原因会是什么呢= = [/quote] 那你试下数组大一点呢[/quote] filename4这个么 不行。。。 那个Line:280就是 代码第280行么
paschen 2016-10-06
  • 打赏
  • 举报
回复
引用 7 楼 La_vie_est_belle 的回复:
[quote=引用 6 楼 paschen 的回复:] 帮你测试了,没有问题
那出现这个问题的原因会是什么呢= = [/quote] 那你试下数组大一点呢
la_vie_est_belle 2016-10-06
  • 打赏
  • 举报
回复


这个Line 280 指的是 第280行 吧?
la_vie_est_belle 2016-10-06
  • 打赏
  • 举报
回复
引用 6 楼 paschen 的回复:
帮你测试了,没有问题
那出现这个问题的原因会是什么呢= =
paschen 2016-10-06
  • 打赏
  • 举报
回复
帮你测试了,没有问题
la_vie_est_belle 2016-10-06
  • 打赏
  • 举报
回复
我再顶= =
la_vie_est_belle 2016-10-06
  • 打赏
  • 举报
回复
引用 2 楼 wang0635 的回复:
swprintf_s(filename4, 30, L"Bmp\\英雄2技能1_%d.bmp", i);
不行诶。。。那个30这个数不是省略也可以的么
la_vie_est_belle 2016-10-06
  • 打赏
  • 举报
回复
不行诶。。。那个30这个数不是省略也可以的么
wang0635 2016-10-06
  • 打赏
  • 举报
回复
swprintf_s(filename4, 30, L"Bmp\\英雄2技能1_%d.bmp", i);
la_vie_est_belle 2016-10-06
  • 打赏
  • 举报
回复
我顶= =

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧