ashine0816 2013-08-20 15:57 采纳率: 100%
浏览 2448
已采纳

字符数组连接为整型,输出非预期问题

从文件中读取数据,在连接成整型,头一二个没问题,第三个就全是非预期的数值,求解
文件读取查不出什么问题。
char dicii[256*sizeof(int)] = {0};
char dici1[256][sizeof(int)] = {0};
int dici[256] = {0};
//.........省略
fin.seekg(0,std::ios::cur);
fin.read(cpq,3*sizeof(long long)); //没问题
fin.read(dicc,256); //没问题
fin.read(dicii,256*sizeof(int));
for(int i=0,t=0;i<3;i++){
for(int j=0;j<sizeof(long long);j++){
cpq1[i][j] = cpq[t];
t++;
}
}
for(int i=0;i<3;i++) icpq[i] = (long long)cpq1[i]; //这个输出正常
for(int i=0,t=0;i<256;i++){
for(int j=0;j<sizeof(int);j++){
dici1[i][j] = dicii[t];
t++;
}
}
for(int i=0;i<256;i++) dici[i] = (int)dici1[i]; //连接后输出非预期

  • 写回答

1条回答 默认 最新

  • 刘祖义 2013-08-21 05:53
    关注

    dici[i]是二维数组,在输出时,数组移动的步长是一行,就是说先定位在数组的首地址,当循环继承进行时,会移动到下一行,依次如上移动

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?