Unicode Memory Functions
The memset() function changes memory byte by byte. For example,
memset (buf, ' ', sizeof (buf));
sets the 10 bytes pointed to by
the first argument, buf, to the value 0x20, the space character. Since a Unicode
character is 2 bytes, each character is set to 0x2020, which is the dagger character (†)
in Unicode.
A new function, jdeMemset() sets memory character by character rather
than byte by byte. This function takes a void pointer, a JCHAR, and
the number of bytes to set. Use jdeMemset (buf, _J (' '), sizeof
(buf));
to set the Unicode string buf so that each
character is 0x0020. When using jdeMemset(), the third parameter,
sizeof(buf), is the number of bytes, not characters.
You can use memset when filling a memory block with NULL. For all other characters, use jdeMemset. You also can use jdeMemset for a NULL character.