频道栏目
首页 > 程序开发 > 软件开发 > C++ > 正文
C/C++常见的问题分析讲解
2017-12-07 13:48:05      个评论    来源:V10_x的博客  
收藏   我要投稿

总结使用C/C++遇到的问题及分析:

1.Run-Time Check Failure #2 - Stack around the variable 'hex' was corrupted.

代码:

char bin[64] = "\x10\x5A\xFF";
char hex[64] = {0};
Bin2Hex(hex, sizeof(hex), bin, 3);
DWORD WINAPI Bin2Hex(LPSTR pHex, DWORD dwBufLen, LPCSTR pBin, DWORD dwLen)
{
	DWORD dwNowLen = 0;
	if(NULL == pHex || NULL == pBin)
	{
		return 0;
	}

	for(DWORD i = 0; i < dwLen; i++)
	{
		dwNowLen += 2;
		sprintf_s(pHex + i * 2, dwBufLen, "%02X", (BYTE) *(pBin + i));
	}

	return dwNowLen;
}

调用sprintf_s函数,缓冲区大小不匹配所导致,改为:

sprintf_s(pHex + i * 2, dwBufLen - i * 2, "%02X", (BYTE) *(pBin + i));
点击复制链接 与好友分享!回本站首页
上一篇:C++初学者必看的知识思维导图
下一篇:最后一页
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站