我正在用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;
Run Code Online (Sandbox Code Playgroud)
我知道浮点数为4个字节,字符为1个字节,此代码仅输出一个为0的数字,我相信atof()
仅将第一个字节转换为该数字,但我希望看到整个数字,我怎么能看到全部二进制文件中的数字,我们将不胜感激。