背景

画像の配列にありがちなunsigned charの配列をRustな型にするには

ptrがunsigned char*

ptr: *mut c_uchar

これをRustのu8の配列に変換する。

offsetメソッドでポインタのアドレスをずらせる模様。

let mut buf: Vec<u8> = Vec::new();
for i in 0..len {
        buf.push(unsafe { *(ptr.offset(i as isize)) });
}

関連記事