gpt4 book ai didi

c++ - Memset 不填充整个指针数组 C++

转载 作者:行者123 更新时间:2023-11-30 01:33:33 31 4
gpt4 key购买 nike

我的计算机中有一个 1049088 大小的像素数组,我想完全填充它。但是当我使用 memset 时,它只会填充到数组的一个点,而不是整个 block 。

我去了http://www.cplusplus.com/reference/cstring/memset/它没有说明最大尺寸。此外,我的变量是 size_t(unsigned int),因此如果我输入的值高于预期但它在范围内,它应该返回错误。

memset((void*)pixels, BLACK_CLR, w_widthxheight);

w_widthxheight 是一个包含 1049088 的 size_t。像素是具有相同变量 (w_widthxheight) 大小的 COLORREF 数组。 BLACK_CLR 常量包含 0。

如果有任何替代 memset 的方法,因为我读到它在某处效率低下(但在数组的第一个 x 值上工作正常),那也很好。

最佳答案

您以元素为单位给出大小,但 memset 期望大小以字节为单位。所以这应该解决它:

memset((void*)pixels, BLACK_CLR, w_widthxheight * sizeof( COLORREF ) );

关于c++ - Memset 不填充整个指针数组 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58351994/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com