读文件char*转double
在读文件时,经常会遇到如
uint8_t;
uint16_t;
uint32_t;
这种类型的变量,但本质只是表示所占的空间,实际的要转换为int、double类型的变量
以读取double数据为例
QString str = “路径”;
QFile file(str);
char *p;
file.read(p, 8);
double data = *(double*)p; //01
注解01里 p 是 char* 指针,如果用 *p 输出就只会读取一个字节。(至于是高字节还是低字节,学艺不精,不知道,求评论讲解。)
所以需要将 p 的这个 char* 指针强转成double*,double*状态下的 *p 就可以读取完整的 double 变量了