如何在Visual Studio中让unsigned char[]以字节数组而非字符串形式显示?
在Visual Studio监视/局部变量窗口将unsigned char[]显示为字节数组的方法
单个监视项的快速处理
- 在监视窗口里,给变量名加上
,n格式说明符(n是你要显示的元素总数)。比如你的unsigned char buf[32],直接写成buf,32,就能强制显示成32个元素的字节数组,不会因为\0截断。 - 如果是动态分配的指针(比如
unsigned char* buf = new unsigned char[32]),把它强制转成固定大小数组类型:(unsigned char(*)[32])buf,这样就能直接显示全部元素,不用手动展开。
全局默认设置(一劳永逸)
- 打开VS的工具→选项→调试→常规,找到“自动显示字符串值”选项,取消勾选。这样所有unsigned char类型的数组/指针都会默认以字节数组形式显示,不会自动解析成字符串。
- 要是之后需要查看字符串形式,只要在变量名后面加
,s格式符就行(比如buf,s)。
实用小技巧
- 固定大小数组还可以右键点击监视项,选择“编辑监视项”添加格式符,或者直接在变量名后追加格式符,不用打开编辑窗口。
- 想以十六进制查看字节值?再加个
,h格式符即可,比如buf,32,h,每个元素会以十六进制形式展示,更方便查看二进制数据。
内容的提问来源于stack exchange,提问作者MrPurpleStreak
相关产品推荐
相关产品推荐

