小编sar*_*ath的帖子

连续读取bin文件中的浮点数并在控制台窗口中输出

我正在用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()仅将第一个字节转换为该数字,但我希望看到整个数字,我怎么能看到全部二进制文件中的数字,我们将不胜感激。

c++ fstream visual-studio-2010

2
推荐指数
1
解决办法
6110
查看次数

标签 统计

c++ ×1

fstream ×1

visual-studio-2010 ×1