rust 用指针类型转换的方法将u8数组(或slice)转换成u32
2015-06-10 21:06
1016 查看
c语言很方便,直接指针转换就可以了,代码如下:
char data[] = {1,2,3,4};
int32 s = *(int32*)data;
对应的rust转换如下:
char data[] = {1,2,3,4};
int32 s = *(int32*)data;
对应的rust转换如下:
pub fn convert(pack_data: &[u8]){ let ptr :*const u8 = pack_data.as_ptr(); let ptr :*const u32 = ptr as *const u32; let s = unsafe{ *ptr}; println!("{:?}", s); }关键的就是:先把slice的指针获取到,然后把*const u8指针转成*const u32,最后deref就可以了
相关文章推荐
- 使用Tkinter编写一个简单的提醒小程序
- Integer Game(UVA11489)3的倍数
- 【数学】控制论
- ImageView的圆形图片显示
- Linux常用命令大全
- Linux常用命令大全
- UVA - 11008 Antimatter Ray Clearcutting
- Bit Manipulation Single Number II
- 注释转换(部分)
- Model的验证
- PHP面向对象(OOP)编程完全教程
- Unix NetWork Programming——环境搭建(解决unp.h等源码编译问题)
- priority inversion
- 01Mac下搭建Java开发环境
- Linux 6 以上版本安装oracle10g的问题
- (4)LinuxI2C驱动--从两个访问eeprom的例子开始
- Linux日志清除
- UVA - 1374 Power Calculus
- linux常见问题汇总
- hadoop,学习心得