我正在用 Visual C++ 编写代码来读取(并在控制台中查看)bin 文件中的浮点数,二进制文件包含大约 250 万个浮点数。
int main(){
char* holder;
ifstream fin;
fin.open("male_16_down.bin",ios::binary|ios::in);
if(!fin){
cout<<" Error, Couldnt find the file"<<endl;
}
fin.seekg(0,ios::end);
long int file_size_bin=fin.tellg();
long int file_size=fin.tellg();
fin.seekg(0,ios::beg);
file_size=file_size/sizeof(float);
holder=new char[file_size_bin];
fin.read(holder,file_size*sizeof(float));
float data=(float)atof(holder);
cout<<data<<endl;
delete[] holder;
我知道浮点数为 4 个字节,字符数为 1 个字节,此代码仅输出一个数字 0,我相信atof()
仅将第一个字节转换为数字,但我希望看到整个数字,我怎么能看到所有二进制文件中的数字,任何帮助将不胜感激。