如何将uint8 *正确复制到vector <Uint8>

奥哈拉西

我正在尝试从Uint8 *创建Uint8的向量,但是由于某些原因,这些值并不相同。这是我的代码。

std::vector<Uint8> wav_vector = {}; 
Uint8* wav_buffer_;   
for (unsigned int i = 0; i < wav_length_; i++) {
  wav_vector.push_back(wav_buffer_[i]);
}

然后,稍后我尝试验证值:

for (unsigned int i = 0; i < wav_length_; i++){
    if (wav_buffer_[i]!=wav_vector[i]){
      cout<<i<<endl;
      printf("Orignal Buffer %u\n", wav_buffer_[i]);
      printf("Vector Buffer %u\n", wav_vector[i]);

    }
  }

这些是我的示例输出:

Index: 0
Orignal Buffer 208
Vector Buffer 40

Index: 1
Orignal Buffer 72
Vector Buffer 3

Index: 2
Orignal Buffer 111
Vector Buffer 183

Index: 3
Orignal Buffer 1
Vector Buffer 97

Index: 4
Orignal Buffer 0
Vector Buffer 79

Index: 5
Orignal Buffer 0
Vector Buffer 127

Index: 8
Orignal Buffer 120
Vector Buffer 40

Index: 9
Orignal Buffer 251
Vector Buffer 3

Index: 10
Orignal Buffer 182
Vector Buffer 183

Index: 16
Orignal Buffer 0
Vector Buffer 176

Index: 17
Orignal Buffer 0
Vector Buffer 200

Index: 18
Orignal Buffer 0
Vector Buffer 109

Index: 19
Orignal Buffer 0
Vector Buffer 1

Index: 24
Orignal Buffer 0
Vector Buffer 176

Index: 25
Orignal Buffer 0
Vector Buffer 200

Index: 26
Orignal Buffer 0
Vector Buffer 109

Index: 27
Orignal Buffer 0
Vector Buffer 1

Index: 32768
Orignal Buffer 16
Vector Buffer 120

任何帮助将非常感激。

注意:我尝试过,它可以工作。但是我想使用for循环,因为我还有其他一些需要位移的音频格式。

std::vector<Uint8> wav_vector(&wav_buffer_[0], &wav_buffer_[wav_length_]);
托马斯·马修斯

看起来好像有一个std::vector可以从迭代器(或指针)复制的构造函数

您可以执行以下操作:

std::vector<uint8_t> my_vector(&wave_buffer[0], &wave_buffer[N]);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Swift BigInt 到 [UInt8]

来自分类Dev

在C中使用fscanf()将uint8复制到矩阵中

来自分类Dev

从uint16到uint8的转换

来自分类Dev

将uint8转换为uint8 []

来自分类Dev

将uint8转换为uint8 []

来自分类Dev

如何将数据转换为UnsafePointer <UInt8>?

来自分类Dev

如何将UInt32转换为UInt8

来自分类Dev

C++:如何将 uint32 中的相关位放入 uint8?

来自分类Dev

C ++ 11/14将std :: uint32转换为std :: vector <std :: uint8>

来自分类Dev

{(Int)}与UInt8不同

来自分类Dev

Swift编码UInt8

来自分类Dev

{(Int)}与UInt8不同

来自分类Dev

Swift编码UInt8

来自分类Dev

Matlab uint8稀疏

来自分类Dev

如何交换uint8数组的行?

来自分类Dev

将uint8转换为uint32

来自分类Dev

将 Uint16 拆分为 Uint8

来自分类Dev

将UInt8(或类似类型)转换为Int是否违反UInt8的目的?

来自分类Dev

无法将不变值作为inout参数传递:来自'UnsafePointer <UInt8>的隐式转换?到“ UnsafePointer <UInt8>”?需要一个临时的

来自分类Dev

如何将uint8转换为字符串

来自分类Dev

如何将字符串转换为UnsafePointer <UInt8>和长度

来自分类Dev

Swift:如何将String转换为UInt8数组?

来自分类Dev

如何将栅格dtype从uint8转换为float32?

来自分类Dev

如何将 String 转换为 UnsafeMutablePointer<UInt8> ?斯威夫特 3

来自分类Dev

Tensorflow:如何将 float32 转换为 uint8

来自分类Dev

如何将 JS 中的字符/字符串转换为 uint8?

来自分类Dev

如何编写接受Array <UInt8>或ArraySlice <UInt8>的函数?

来自分类Dev

Swift位数组到字节数组(UInt8数组)

来自分类Dev

从float64到uint8的有损转换