Date: 2004aug22
Platform: win32
Level: beginner
Q. What's the best way (in win32) to clear memory?
A.
In ye olden days I used to code:
memset(&MyStruct, 0, sizeof(MyStruct));
Now I write:
ZeroMemory(&MyStruct, sizeof(MyStruct));
Which is one character longer but reads nicer.
This is defined in the Win32 headers as:
#define ZeroMemory(Destination,Length) memset((Destination),0,(Length))
Linux has:
bzero(&MyStruct, sizeof(MyStruct));
Sadly bzero is deprecated so you can define it:
#ifndef bzero
#define bzero(_d, _n) memset((_d), 0, (_n))
#endif
If you have a newer compiler you can do:
char buf[100] = {}
To zero an array.