c - 无符号短的 Memcpy *
问题描述
我有我的循环
for(unsigned int i = 0; i < size; ++i)
{
pDest[i] = pSource[i]; // Both are unsigned short *
}
}
我将 pSource 的内容复制到 pDest 中,这是可行的。pDest 和 pSource 都是无符号短 *。我已经改进了这个 for 循环,所以我使用了 omp 并行。
#pragma omp parallel for shared(pDest, srcBuffer)
我尝试对 memcpy 使用另一种方式,但我的 pDest 值错误
memcpy(pDest, srcBuffer, sizeof(unsigned short)); // I copy srcBuffer into pDest and the size of the bytes are unsigned short because pDest and srcBuffer are unsigned short *
我的 pDest 的第一个值是:83-47039-0 它应该是:83-86-77
我的第一个值是正确的,所以 memcpy 的最后一个参数可能是错误的?我尝试给出我的尺寸而不是 sizeof(unsigned short)
memcpy(pDest, srcBuffer, size);
这就是工作!但有时我所有的价值都等于 0-0-0
我不知道为什么我的价值有时会被错误地初始化。
解决方案
要memcpy
知道要复制多少数据,您需要指定元素的数量乘以每个元素的大小:
memcpy(pDest, srcBuffer, size * sizeof(unsigned short));
推荐阅读
- curl - 使 curl 不要认为 @something 不是文件而是字符串
- google-bigquery - 如何将行的子集展平为一个
- javascript - React 中的动态输入值
- php - 在 Codeigniter 视图文件中添加 php 字符串值的最简单方法
- c# - 将大字节数组发布到我的 Asp.Net Core API
- php - 在 WooCommerce 结帐时添加产品描述时出现问题
- javascript - 所有活动的 Admob 类。我问我如何解决像这段代码这样的旧模型项目
- python - 按组用另一个数据框的增长率填充熊猫数据框的缺失值
- row - pySimpleGUI:一种在每行或每个单元格的基础上为表格构建工具提示的方法?
- oracle - 如何使用 JPQL 查询来计算表中的值并与其他表相关数据结合?