Buffer Manipulation
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at Buffer Manipulation.
Use these routines to work with areas of memory on a byte-by-byte basis.
Buffer-Manipulation Routines
Routine | Use | .NET Framework equivalent |
---|---|---|
_memccpy | Copy characters from one buffer to another until given character or given number of characters has been copied | System::Buffer::BlockCopy, System::String::Copy |
memchr, wmemchr | Return pointer to first occurrence, within specified number of characters, of given character in buffer | Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
memcmp, wmemcmp | Compare specified number of characters from two buffers | System::String::Compare, System::String::Equals |
memcpy, wmemcpy, memcpy_s, wmemcpy_s | Copy specified number of characters from one buffer to another | System::Buffer::BlockCopy, System::String::Copy |
_memicmp, _memicmp_l | Compare specified number of characters from two buffers without regard to case | System::String::Compare, System::String::Equals |
memmove, wmemmove,memmove_s, wmemmove_s | Copy specified number of characters from one buffer to another | System::Buffer::BlockCopy |
memset, wmemset | Use given character to initialize specified number of bytes in the buffer | System::Buffer::SetByte |
_swab | Swap bytes of data and store them at specified location | Not applicable. To call the standard C function, use PInvoke . For more information, see Platform Invoke Examples. |
When the source and target areas overlap, only memmove
is guaranteed to copy the full source properly.