在使用C++编程时,当我们要清空一个数据的缓冲区的时候我们会执行下面的语句:
#define BUF_SIZE 64 //缓冲区的大小
char buf[BUF_SIZE]; //数据的缓冲区
ZeroMemory(buf,BUF_SIZE); //清空数据的缓冲区
在Visual Studio 2017中对ZeroMemory进行右键转到定义操作可以看到:
#define ZeroMemory RtlZeroMemory
因此,ZeroMemory宏的作用就是将数据的缓冲区用0来填充。ZeroMemory宏其实就是memset函数的一个特例。使用一块内存区域前对其进行清空处理就可以避免内存数据的不确定性。