gpt4 book ai didi

c# - 查找指向 native 字节数组的不安全字节*的长度 C#

转载 作者:太空宇宙 更新时间:2023-11-03 19:47:10 26 4
gpt4 key购买 nike

如何在 C# 中找到 byte* 的长度?

它指向非托管 C++ 库中的 native 字节数组。我需要将它转换为 c# byte[],但为此,我需要长度。 .长度不起作用。

byte* ETC = //Stuff from unmanaged c++ DLL;
int ETCLength = ????

最佳答案

不能仅从指针知道某物的长度;指针只是开始。通常,指针和长度一起传递。将来,这可能会通过 Span<T> 得到改善。 - 或许不会!时间会证明一切。

您需要已经知道长度。这可以通过 API,也可以通过文档。 可能数据的模式暗示结束(例如 nul 终止符,或者在前几个字节中编码的长度),但是:这种方法是大多数缓冲区攻击的开始方式.如果你在谈论指针,你应该总是知道长度。

关于c# - 查找指向 native 字节数组的不安全字节*的长度 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43982474/

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