memset是 C++ 标准库中的一个函数,用于将内存块中的所有位都设置为指定的值。
它的原型如下:
void* memset(void* ptr, int value, size_t num);
这个函数接受三个参数:
-
ptr
是指向要设置的内存区域的指针。 -
value
是要设置的值。这个值被转换为unsigned char
类型,然后写入每个字节。 -
num
是要设置的字节数。
memset
函数将 num
个字节的内存块中的所有位都设置为 value
。如果 ptr
指向的内存块不足 num
个字节,那么 memset
会将这个内存块中的所有位都设置为 value
,直到内存块的末尾。
例子1:将数组 arr
的所有元素设置为 0:
#include <cstring>
int main()
{
int arr[5] = { 1, 2, 3, 4, 5 };
memset(arr, 0, sizeof(arr));
for (int i = 0; i < 5; i++)
{
std::cout << arr[i] << " ";
}
std::cout << std::endl;
return 0;
}
在这个例子中,我们使用 memset
函数将数组 arr
中的所有元素都设置为 0。然后,我们使用 for
循环遍历数组,并打印出每个元素的值。由于我们使用 memset
函数将数组中的所有元素都设置为 0,所以打印出的值都是 0。
文章来源地址https://www.toymoban.com/news/detail-721847.html
例子2:将unsigned char类型的所有元素设置为 0:
int RotateArbitrarily( const unsigned char* srcImg, unsigned char* dstImg, int* destWidth, int* destHeight)
{
//图像数据
int ww = *destWidth;
int hh = *destHeight;
//unsigned char类型的所有元素设置为 0
memset(dstImg, 0, sizeof(unsigned char) * ww * hh);
return 1;
}
文章来源:https://www.toymoban.com/news/detail-721847.html
到了这里,关于C++中memset函数的用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!