用随机值填充缓冲区
Fill a Buffer with random values C++
我接管了一个具有变量的程序:static uint_8t *buffer全局声明,我需要填充,但不仅仅是一个重复的值。它不必太"随机",只要完整且不重复即可。我使用这个缓冲区在硬盘上运行read10 scsi命令测试。我使用visual c++ 2012。提前感谢您的帮助!
如果随机性不太重要,您可以考虑使用类似std::rand
的方便算法:
std::generate_n(buffer, BUFFER_SIZE, std::rand);
缓冲区的元素类型为unsigned意味着溢出是安全的。这里是一个示例,尽管我怀疑您的代码可能有点不同;)。
如果您不介意值是连续的,您可以使用std::iota
:
#include <numeric>
std::iota(buffer, buffer + SIZE, 0);
这将用从0开始的连续值填充。
const size_t N = 100; // your number of elements
for(size_t i = 0; i < N; ++i)
{
size_t tmp = i % std::limits<uint8_t>::max();
buffer[i] = static_cast<uint_8t>(tmp)
}
相关文章:
- C++:使用缓冲区中的数据填充结构
- 深度缓冲区未填充阴影贴图渲染通道中的数据
- 缓冲区填充了不同类型的数据和严格的混叠
- DirectX11只绘制填充索引和顶点缓冲区中的一半顶点
- 填充和保存线程之间的共享缓冲区
- strcpy_s将超过字符串长度的字符串复制到目标缓冲区(用 0xFE 填充)
- 缓冲区用不需要的数据填充 char 数组中的最后一个空格
- InternetReadFile 填充缓冲区,但返回零字节读取
- 无法使用两种不同的频率填充 *.wav 文件的缓冲区
- P/调用C++用于填充托管缓冲区的 DLL
- 是否存在以相反顺序填充缓冲区的MEMSET函数
- FFMPEG挂在缓冲区填充C 上
- 在 C++ 中填充重复的自定义协议缓冲区字段
- C - 分配一个未签名的炭缓冲区,然后用字符串填充
- C/C++ 从字符缓冲区读取以填充结构
- 如果缓冲区由数据流填充,则 C++ boost async_read_some被缓冲区阻止
- 将额外的字节填充到要通过网络发送的flatbuffer的缓冲区指针
- 在本地将数据填充到recv缓冲区中
- 在 c++ 中使用消息结构读取/填充数据缓冲区的正确方法是什么?
- 从流和缓冲区填充矢量时会产生不同的结果