问题描述
我想比较 byte []的部分
高效 - 让我明白了 memcmp()
应使用。
我知道我可以使用的PInvoke调用 memcmp()
- 的
不过,我想比较字节[]
只有部分 - 使用偏移,并没有 memcmp()
与偏移,因为它使用指针。
INT CompareBuffers(byte []的缓冲器1,INT偏移1,byte []的缓冲器2,INT偏移2,诠释计数)
{
//不知怎的,调用memcmp(放大器;缓冲器1 +偏移,与放大器;缓冲器2 +偏移2,计数)
}
我应该使用C ++ / CLI来做到这一点?
我应该使用的PInvoke使用的IntPtr?怎么样?
感谢你。
C ++ / CLI肯定是干净的,但实在很难证明,如果你是不是已经在使用它加入C ++ / CLI到您的项目。
如何Marshal.UnsafeAddrOfPinnedArrayElement(array,偏移量)?
I want to compare parts of byte[]
efficiently - so I understand memcmp()
should be used.
I know I can using PInvoke to call memcmp()
- Comparing two byte arrays in .NET
But, I want to compare only parts of the byte[]
- using offset, and there is no memcmp()
with offset since it uses pointers.
int CompareBuffers(byte[] buffer1, int offset1, byte[] buffer2, int offset2, int count)
{
// Somehow call memcmp(&buffer1+offset1, &buffer2+offset2, count)
}
Should I use C++/CLI to do that?
Should I use PInvoke with IntPtr? How?
Thank you.
C++/CLI will definitely be the cleanest, but this hardly justifies adding C++/CLI to your project if you aren't already using it.
How about Marshal.UnsafeAddrOfPinnedArrayElement(array, offset)?
这篇关于如何调用memcmp()的字节两部分组成[](带偏移)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!