编程知识 cdmana.com

c++ ifstream读取数据放入数组,数据是错误的

我正在使用ifstream读取外部文件,代码如下:

#include<fstream> #include<iostream> #include<string> float image_raw[3][224][224];int main(){        std::ifstream ifs_image_raw("img1.txt", std::ios::in);    ifs_image_raw.read((char*)(**image_raw), 3*224*224*sizeof(float));    ifs_image_raw.close();    for(int i = 0; i < 3; i++){        for(int j = 0; j < 224; j++){            for(int k = 0; k < 224; k++){                std::cout << image_raw[i][j][k] << std::endl;            }        }    }    }

g++编译成功且可以运行,但是打印出来的数是错误的,已检查文件路径和内容没有问题,用FILE*加fscanf的方式读取正确,请问这是什么原因?

版权声明
本文为[CSDN问答]所创,转载请带上原文链接,感谢
https://ask.csdn.net/questions/7711889

Scroll to Top