3
Byte a[2]={85, 15};
Byte b[2]={0};
CFBitVectorRef bv1 = CFBitVectorCreate(kCFAllocatorDefault, a, 16);
CFRange r1 = {3, 8};
CFBitVectorGetBits(bv1, r1, b);
바이트를 사용하여 [2] "0101 0101 0000 1111"이고, I 잘라낼 CFRange의 {3,8} (1,010 1,000) 다른 바이트 (B)에 [2] . 그러나 나는 b에서 아무것도 얻지 못했다. 그러나 범위를 {0,8} 또는 {8,8}로 변경하면 작동합니다. 왜 십자 바이트를 얻을 수 없습니까?CFRange 수없는 상호 바이트 CFBitVectorGetBits
CoreFoundation의 버그처럼 보입니다. '{3, 5}'는 작동하지만'{3, 6} '은 작동하지 않습니다. –
그래, {3,5}는 여전히 교차 바이트가 아니기 때문에 여전히 첫 번째 바이트에 있습니다. 하지만 {3, 6} 않습니다. – Witeman
예, 방금 문제는 범위가 바이트 경계를 넘어서고 범위의 정렬이 아니라는 것이 문제라는 것입니다. Btw : 소스 코드가 http://opensource.apple.com/source/CF/CF-744.12/CFBitVector.c에 있으므로 오류를 찾을 수 있습니다 (- : bugreporter에서 버그를 제출하는 것이 좋습니다. apple.com. –