读写差不多,如果以字节来计算,那么可以这样干:
char* tempChar = ( char* )pbFile;
int a = 123456;//...
*((int*)( tempChar + 0 )) = a;
a = *((int*)( tempChar + 0 ));
double b = 465789;//...
*( (double* )(tempChar + 4 )) = b;
b = *( (double* )(tempChar + 4 ));
熟练了之后可以用更加简单的方法。
char *buff;
......// 填充缓冲区buff
int a = *((int *)buff); // 读出前4个字节的int部分
double b = *((double *)(buff + 4)); // 读出5--12字节的double部分
int *pi = (int*)&pbFile[0];
double *pd = (double*)&pbFile[4];