尝试增加指针时出错。
无法分配给ptr,因为它是固定变量CS1656 另一个指针ptruc也是同样的错误
unsafe void organize_data()
{
fixed(byte* ptr = &database[0])
{
fixed(byte* ptruc = &dtbaseuc[0])
{
strcnt=1;
linestrts[0]=0;
for(int i=0;i<filelen;i++)
{
if(*ptr > 96 && *ptr < 123)*ptruc=(byte)((int)*ptr-(int)32);
if(*ptr ==13)
{
linestrts[strcnt]=i+1;
strcnt++;
}
ptr++;
ptruc++;
}
}
}
textBox2.Text=strcnt.ToString();
}
答案 0 :(得分:6)
fixed
块中声明的变量是只读的,无法分配。您必须复制指针,然后递增副本。
fixed (byte* ptr = &database[0]) {
byte* dbPtr = ptr;
ptr++; // CS1656, ptr is read-only.
dbPtr++; // Valid.
}