我有一大块二进制数据,其中包含带有偏移量的结构,然后是字符串;在 C++ 中很容易:
struct foo
{
int offset;
char * s;
}
void * data;
... data is read and set
foo * header = (foo*) data;
header->s = (int)header-> + (int)data;
int len = strlen(header->s);
char* ns = new char[len+1];
strcpy(ns,header->s);
很简单......在C#中你会怎么做?最大的问题是我不知道字符串的长度。它是空终止的。
我在byte[]
内存中有一个数据和一个 IntPtr,但我需要一个指向该数据的指针 aa 字符串(char *
),我可以得到字符串的长度。